2016-11-08 8 views
0

私は、名前と年齢をとり、それらの尊重された配列に格納するプログラムを作成しようとしています。forループはin.nextLineの入力を再実行しませんか?

personName[i] = in.nextLine();

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.Scanner; 
public class Persons { 
    public static void main (String[] args){ 
    Scanner in = new Scanner(System.in); 
    String[] personName = new String[9]; 
    int[] personAge = new int[9]; 

    for(int i = 0; i < personName.length; i++){ 
     System.out.println("Please enter a name: "); 
     personName[i] = in.nextLine(); 
     if(!personName[i].equalsIgnoreCase("done")){ 
     System.out.println("Please enter an age: "); 
     personAge[i] = in.nextInt(); 
     } 
    } 
    } 
} 

任意のアイデア:プログラムが実行されると、それはその行を無視しますか?

+0

あなたの言語タグ次回または([編集](http://stackoverflow.com/posts/40487474/edit)) – Jim

+0

あなたのように入力している何を追加してください。名? –

+0

@トーマスあなたの質問に答えてくれますか? – quantummind

答えて

1

行全体を読み取らずに整数値を読み取ろうとしました。

変更するには、行:

personAge[i] = Integer.parseInt(in.nextLine()); 
+0

パッケージが独自の 'Integer'クラスを定義していない限り、' java.lang'から何かをインポートする必要はありません。 –

+0

@RolandIlligはい、そうです。それは必要ではない。しかしこれは誤りではない。とにかく私は答えを編集する。 – quantummind

関連する問題