0

「23423」のような数字を入力して、「2 3 4 2 3」のように出力するにはどうすればよいですか? また、ユーザーが 5 桁未満または 5 桁未満を入力できないようにするにはどうすればよいですか? (あなたの助けをいただければ幸いです。私は Java を学んでいるので、皆さんからのヒントが必要です。何か新しいことを学ぶのを楽しみにしています。)

これは私がこれまでに持っているものです:

    Scanner input = new Scanner(System.in);

    int value1, value2, value3, value4, value5;

    System.out.print("Enter a number: ");
    value1 = input.nextInt();

    System.out.print("Enter a number: ");
    value2 = input.nextInt();

    System.out.print("Enter a number: ");
    value3 = input.nextInt();

    System.out.print("Enter a number: ");
    value4 = input.nextInt();

    System.out.print("Enter a number: ");
    value5 = input.nextInt();

    System.out.printf(" %d " + " %d " + " %d " + " %d " + " %d\n ", value1, value2, value3, value4, value5);
4

3 に答える 3

3

ループでやり直すことができます: ループで入力を 5 回読み取り、そのたびに i 番目の読み取り値を配列の i 番目の位置に置きます。

for次に、それを印刷するには、配列の各要素を印刷するループを使用できます。

于 2012-05-24T23:47:46.703 に答える
2

本当に 5 桁の数字を 1 つだけ入力してもらいたい場合は、ユーザーの入力を検証してから、入力が有効でない場合はエラーを出す必要があります。5 桁の数値の最初の桁がゼロであってはならないという要件がある場合は、int を取得して、それが 9999 より大きく 100000 より小さいかどうかを確認できます。それ以外の場合は、文字列として取り、長さを確認します。検証したら、それを整数に変換します。

于 2012-05-25T01:21:53.997 に答える
0

最も適切な解決策は、文字列を作成してスペースを追加する while ループのようです。while 処理の余波で、最後のスペースを削除する必要があります。次のようなものがニーズに合うはずです。私は apache commons プロジェクトを使用しましたが、独自のクラスも利用しています。

    Scanner scanner = new Scanner(System.in);

    String str = "";
    while (scanner.hasNext()) {
        String next = scanner.next();
        if (next.equals("E")) {
            break;
        }

        if (NumberUtils.isNumber(next)) {
            for (int i = 0; i < next.length(); i++) {
                str += Integer.valueOf(next.substring(i, i + 1)) + " ";
            }
        }
    }
    str = str.substring(0, str.length() - 1);

    System.out.println("your number: " + str);  

「E」でループから抜けることができます。

于 2012-05-25T06:35:35.513 に答える