2

Java プログラミング言語を使用して、ユーザーが 、 、 など+3364-1293符号付き 4 桁の 10 進数を入力する演習を行っています。+0007

私の知る限り、Java はプリミティブ型の decimal をサポートしていません。
私の質問は次のとおりです。

  1. 上記のような数値を入力するにはどうすればよいですか?
  2. 上記の数字に +、- 記号を付けるにはどうすればよいですか?

アップデート

以下のコードは、ユーザーに有効な数字 (文字なし) を入力するように求めるスニペットを示しています。単項 + は、以下のコードでは機能しません!! それを修正する方法はありますか。

public int readInt() {
    boolean continueLoop = true;
    int number = 0;
    do {
        try {
            number = input.nextInt();
            continueLoop = false;
        } // end try
        catch (InputMismatchException inputMismatchException) {
            input.nextLine();
            /** discard input so user can try again */
            System.out.printf("Invalid Entry ?: ");
        } // end of catch
    } while (continueLoop); // end of do...while loop

    return number;
} // end of method readInt()
4

4 に答える 4

3

スキャナを使用:

Scanner scan = new Scanner(System.in);
System.out.print("Enter 3 integer numbers: ");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
System.out.print("You have entered: " + a + " | " + b + " | " + c);

出力:

3 つの整数を入力してください: +3364 -1293 +0007
入力しました: 3364 | -1293 | 7


補足:0007 Java では 10 進数ではなく 8 進数として解釈されるため、 のような整数で先頭の 0 を使用する場合は注意してください。したがって、010は実際8には ではなく 10 進法10です。

System.out.print(010);

出力:

8

アップデート:

Scanner記号+-を必要とすることに+5432注意し-5432+ 5432ください- 5432

于 2012-04-08T17:28:47.637 に答える