Java 程序以数字形式输入数字并以文字显示
javaserver side programmingprogramming
数字基本上以数字格式表示,或者这些是整数值。但为了发音,我们使用文字。每个数字都有独特的文字格式。
例如,1 的文字格式是"一"。同样,2 的文字格式是"二",3 的文字格式是"三"……等等。对于两位数,数字格式略有不同。 21 表示"二十一",45 表示"四十五"......等等。因此,所有类型的数字都有一种独特的单词格式可用。
向您展示一些实例
实例-1
Input number is 15. Word format of 15 = Fifteen
实例-2
Input number is 123. Word format of 123 = One Hundred Twenty-Three
实例-3
Input number is 4532. Word format of 4532 = Four Thousand Five Hundred Thirty-Two.
算法
步骤 1 - 通过静态输入法获取输入的数字。
步骤 2 - 声明一个字符串类型的数组并将数字存储在字符串中。
步骤 3 - 然后我们声明一些其他字符串类型的数组,在其中存储不同类型的数字的字格式,如一位数、两位数、百位和千位(这里我们只写了四位数字的代码,您可以根据需要进一步扩展)。
步骤 4 - 我们正在寻找给定数字的长度。根据数字的长度,我们有不同的条件来连接数组的索引值。
步骤 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 输入数字并以文字形式显示该数字。