0

私は基本的に、ユーザーがゼロを入力したときにのみプログラムを終了しようとしています。それ以外の場合は、処理のために入力をループし続けます。

何が起こっているのかについて質問があります。コンパイルしようとすると、次のようなエラーが表示され続けます。

期待される出力 あなたの出力 1 16 1 スレッド「メイン」での例外 java.util.InputMismatchException 2 Tom 69.28 2 java.util.Scanner.throwFor(Scanner.java:909) で 3 Mickey 108.42 3 java.util.Scanner.next( Scanner.java:1530) 4 Juliet 2488.71 4 java.util.Scanner.nextInt(Scanner.java:2160) 5 Ann 2201.94 5 java.util.Scanner.nextInt(Scanner.java:2119) 6 Christy 894.14 6 Bank .main(Bank.java:103)

  public static void main(String[] args) {
 // declare the necessary variables
 double x;
 int p; 
 double balance;

 String name; 
 List<Person> list = new ArrayList<Person>();

 // declare a Scanner object to read input
 Scanner sc = new Scanner(System.in); 
 // read input and process them accordingly
 x = sc.nextDouble();
 p = sc.nextInt(); 

 // while (sc.hasNext() == true)
 String action;
 // {
 do {
 action = sc.next();

 //ArrayList list = new ArrayList(); 

 if (action.equals("Create"))
 {
 do something
 }

 if (action.equals("Withdraw"))
 {

 {
 do something

 }
 }

 }


 if (action.equals("Deposit"))
 {



 // output the result
         }


 if (action.equals("0"))
 {

 System.out.println(list.size());
 for(Person d : list){
 double bal = d.getBalance(); 

 System.out.println(d.getName());

 }     }

 }

 while ( /*action != null &&*/ !action.isEmpty());
 }
 }
4

1 に答える 1

1

ドキュメント

取得したトークンが予想される型のパターンと一致しないこと、またはトークンが予想される型の範囲外であることを示すために Scanner によってスローされます。

スタックトレースを見る:

java.util.Scanner.nextInt(Scanner.java:2160) 5 アン 2201.94 5 で

つまり、入力しているものは整数ではありません。

p = sc.nextInt(); 
于 2013-09-09T08:10:09.933 に答える