數字基本上以數字格式表示,或是整數值。但為了發音,我們使用的是單字。每個數字都有獨特的單字格式。
例如,1的單字格式是「One」。就像 2 的單字格式是“二”,3 的單字格式是“三”......等等。對於兩位數字,數字格式略有不同。 21 代表“二十一”,45 代表“四十五”......等等。因此,對於所有類型的數字,都有一個唯一的單字格式可用。
Input number is 15. Word format of 15 = Fifteen
Input number is 123. Word format of 123 = One Hundred Twenty-Three
Input number is 4532. Word format of 4532 = Four Thousand Five Hundred Thirty-Two.
Step-1 - 以靜態輸入法取得輸入的數字。
Step-2 - 宣告一個字串類型的陣列並將數字儲存在字串中。
Step-3 - 然後我們聲明一些其他字串類型的數組,在其中儲存不同類型數字的單字格式,例如一位數、兩位數、百位和千位位置(這裡我們只編寫了最多四位數字的程式碼,您可以根據您的要求進一步擴展)。
Step-4 - 我們正在尋找給定數字的長度。根據數字的長度,我們有不同的條件來連接陣列的索引值。
Step-5 - 完成流程後,我們列印該數字及其文字格式。
我們透過不同的方式提供了解決方案。
透過具有靜態輸入值的使用者定義方法。
讓我們一一看看該程式及其輸出。
在這種方法中,我們透過靜態輸入聲明一些隨機輸入數字,並將這些數字作為參數傳遞到使用者定義的方法中,然後在方法內部使用演算法我們可以列印給定數字的文字格式。
public class Main{ public static void main(String args[]) { digitToWord("1234".toCharArray()); digitToWord("557".toCharArray()); digitToWord("45".toCharArray()); digitToWord("2".toCharArray()); digitToWord("0".toCharArray()); digitToWord("801".toCharArray()); digitToWord("54312".toCharArray()); //passing empty string digitToWord("".toCharArray()); } static void digitToWord(char n[]) { int len = n.length; if (len == 0) { System.out.println("Empty string."); return; } if (len > 4) { System.out.print(String.valueOf(n) + ": "); System.out.println("The number you have entered has more than four digits."); return; } String[] unitPlaceDig = new String[] {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}; String[] tensPlaceDig = new String[] {"", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; String[] tensMultiplier = new String[] {"", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"}; String[] powOfTens = new String[] {"Hundred", "Thousand"}; System.out.print(String.valueOf(n) + ": "); if (len == 1){ System.out.println(unitPlaceDig[n[0]-'0']); return; } int p = 0; while (p < n.length) { if (len >= 3){ if (n[p] - '0' != 0) { System.out.print(unitPlaceDig[n[p] - '0'] + " "); System.out.print(powOfTens[len - 3]+ " "); } --len; } else { if (n[p] - '0' == 1) { int sum = n[p] - '0' + n[p + 1] - '0'; System.out.println(tensPlaceDig[sum]); return; } else if (n[p] - '0' == 2 && n[p + 1] - '0' == 0) { System.out.println("Twenty"); return; } else { int i = (n[p] - '0'); if (i > 0) System.out.print(tensMultiplier[i]+ " "); else System.out.print(""); ++p; if (n[p] - '0' != 0) System.out.println(unitPlaceDig[n[p] - '0']); } } ++p; } } }
1234: One Thousand Two Hundred Thirty Four 557: Five Hundred Fifty Seven 45: Forty Five 2: Two 0: Zero 801: Eight Hundred One 54312: The number you have entered has more than four digits. Empty string.
在本文中,我們探討如何在 Java 中接受數字輸入並以文字顯示該數字。
以上是Java程式輸入數字,並以文字顯示的詳細內容。更多資訊請關注PHP中文網其他相關文章!