0
何か助けてもらえますか?私はプログラミングの初心者です。私がプログラミングを始めてから1週間です。私は数字を入力し、あなたが入力した数字の文字を出力する必要があるプログラムに取り組んできました。 私の質問はです。このプログラムの代替コードはありますか?また、入力が-1で「負の1」と読み込まれる場合、どのようにコードを追加できますか?皆さんのお役に立てるお手伝いを本当に感謝しています。プログラム番号を単語に変換する
これは私が働いているコードです:
出力例は次のとおりです。 番号を入力します:12345 出力:一万二千三百Fourtyファイブ
import java.util.Scanner;
public class Numberconvert {
public boolean Number(String s) {
boolean tama = true;
for (int i = 0; i < s.length(); i++) {
if (!Character.isDigit(s.charAt(i))) {
return false;
}
}
return tama;
}
public static String convert(int digit) {
String ArrayOnes[] = {"zero", " One ", " Two ", " Three ", " Four ", " Five ", " Six ", " Seven ", " Eight ", " Nine ", " Ten ",
" Eleven ", " Twleve ", " Thirteen ", " Fourteen ", " Fifteen ", " Sixteen ", " Seventeen ", " Eighteen ", " Ninteen "};
String ArrayOnes2[] = {" ", " Ten ", " Twenty ", " Thirty ", " Fourty ", " Fifty ", " Sixty ", " Seventy ", " Eighty ", " Ninety "};
String ArrayNegative[] = {"Negative "};
if (digit < 0) {
return ArrayNegative[0];
}
if (digit % 10 == 0) {
ArrayOnes[0] = "";
}
if (digit < 20) {
return ArrayOnes[digit];
}
if (digit < 100) {
return ArrayOnes2[digit/10] + ArrayOnes[digit % 10];
}
if (digit < 10000) //return convert(digit/100)+" Hundred "+convert(digit %100);
{
return convert(digit/100) + " Thousand " + convert(digit % 100);
}
if (digit < 100000000) {
return convert(digit/1000) + " Thousand " + convert(digit % 1000);
}
return convert(digit/1000000000) + " Million " + convert(digit % 1000000000);
//return convert(digit);
}
public static void main(String[] args) {
Scanner scann = new Scanner(System.in);
String Number;
// checker - class to loop until the input is number
Numberconvert checkIfNumber = new Numberconvert();
// convert string in to number
int result;
try {
// this do while method is only to check if the input is Number
do {
System.out.print("Enter a Number: ");
Number = scann.nextLine();
} while (!checkIfNumber.Number(Number));
// this if statement is only works if the input is Number
if (checkIfNumber.Number(Number)) {
// String into int to process the String
result = Integer.parseInt(Number);
// initialize "converted" to the function;
String converted = convert(result);
// print the result
System.out.println(converted);
}
// if ever some error detected. The user want to input again
} catch (Exception e) {
System.out.println("");
System.err.println("Some Errors Detected ");
System.out.println("Want to input again? Press Enter ");
scann.nextLine();
main(null);
}
}
}