0

私の仕事は、数字を取得し、それらの出現を印刷することです。整数でプロセスを終了する必要がありますが0、 string で実行していますx

これは私のコードです:

import java.util.Scanner;

public class yasf{
    public static void main(String[] args) {
        int[] numbers = new int[101];
        int num;
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter a number between 0-100 inclusive. x terminates:");
        String numString = scan.nextLine();

        // The input treminated with x;
        while (!numString.equalsIgnoreCase("x")) {
            num = Integer.parseInt(numString);
            numbers[num] = numbers[num] + 1;
            System.out.println("Enter a number between 0-100 inclusive. x terminates:");
            numString = scan.nextLine();
        }
        for (int i = 0; i <= 100; i++) {
        if (numbers[i] != 0 && numbers[i] == 1)
            System.out.println(i + ": " + numbers[i] + " time");
        else if (numbers[i] > 1 && numbers[i] != 0)
            System.out.println(i + ": " + numbers[i] + " times");
        else
            System.out.print("");
    }

}

}

これどうやってするの?

4

1 に答える 1

1

それでも「0」を有効な入力として受け入れたい場合は、最初のインスタンスを削除します

System.out.println("Enter a number between 0-100 inclusive. x terminates:");
String numString = scan.nextLine();

メインのwhileループを次のようにします

do{
  System.out.println("Enter a number between 0-100 inclusive. x terminates:");
  numString = scan.nextLine();
  num = Integer.parseInt(numString);
  numbers[num] = numbers[num]+1;
}while (!numString.equalsIgnoreCase("0"));
于 2013-01-04T19:57:04.350 に答える