ユーザーが入力した数字の数をカウントするコードを作成する必要があります。ユーザーが通常の電話番号よりも多くの番号を入力した場合 (たとえば、 を入力9589889898989
)、プログラムはエラーを表示し、ユーザーに番号の再入力を求める必要があります。ユーザーが正しい数値 (例: . 5083588745
) を入力すると、プログラムはその数値を正しい形式で出力する必要があります。これどうやってするの?
注:個々の番号を読み取ることができるコード以外はすべて完了しています。
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("Please enter your 10 digit #.");
long nrmNum = 1111111111;
long phoneFmt = 0l;
phoneFmt = (long) input.nextDouble();
//get a 12 digits String, filling with left '0′ (on the prefix)
java.text.DecimalFormat phoneDecimalFmt =
new java.text.DecimalFormat("0000000000");
String phoneRawString = phoneDecimalFmt.format(phoneFmt);
java.text.MessageFormat phoneMsgFmt =
new java.text.MessageFormat("({0}) - {1} - {2}");
//suposing a grouping of 3-3-4
String[] phoneNumArr = {
phoneRawString.substring(0, 3),
phoneRawString.substring(3, 6),
phoneRawString.substring(6)
};
nrmNum /= 1;
if (phoneFmt == nrmNum) {
System.out.println("Your Phone number is:");
System.out.println(phoneMsgFmt.format(phoneNumArr));
} else {
System.out.print("Please input 10 numbers for the phone#");
System.out.println(phoneMsgFmt.format(phoneNumArr));
}
}