2016-09-18 10 views
0

入力は-の形式で行う必要があります。ボックス数がn個の場合、これらのボックスには任意の数の異なる整数が含まれています 最初のユーザーがnを入力し、iの各値に対して1からn Enterを押すまで値を入力する必要があります。私はthis-ユーザーがJAVAで入力するまで値を読み取る方法は?

String str; 
for(int i=0;i<n;i++) 
{ 
    while(true) 
    { 
     str=scanner.next(); 
     if(str.isEmpty()) 
      break; 
     int val=Integer.parseInt(str); 
    } 
} 

も試みstr.equals( "\ n")をしてstr.equalsを試してみました EG-

5 
1 2 3 4 5 6 7 8 9 
1 2 
1 
4 5 6 
3 4 5 6 7 

私はこれを行う方法がわからない 、(」 ")、 しかし、何も働いていません。 誰か助けてください。ありがとうございます。

+0

を試してみてください。ループの各反復でそれを呼び出す必要があります。そうでなければ 'str'は1つの値しか持ちません。 – Kelvin

+0

http://stackoverflow.com/questions/5032356/using-scanner-nextline try scanner.readline - カスタマイズされたチェックは不要 – Pat

+0

str.isEmpty()の代わりにstr.equalsIgnoreCase( "")を使用する – halim

答えて

0

はこのような何かを試してみてください:

int n = scanner.nextInt(); 
for(int i=0;i<n;i++) 
{ 
    String str = scanner.nextLine(); 
    String[] array = str.split(" "); 
} 

あなたはユーザー(数字の1回線)から文字列を取り、あなたがスペースでそれを分割するので、あなたは、配列内の文字列としてすべての数字を持っています。それからintに構文解析したり、必要なものを何でもしなければなりません。スキャナクラスの

0

は nextLine()はnextLine()メソッドを使用して試してみて、その後、格納しよう

{改行文字点で最大入力を受け取り})(次{のみ発生した空白文字点で最大入力を取る} 有しますnはvalue.Thenを使用して任意の配列 にあなたは機能tokenzer分割または文字列を使用することができますし、我々はそれで

1

から整数を抽出あなたが唯一 `1時間)(` scanner.nextを呼び出しているこの

String str; 
for(int i=0;i<n;i++) 
{ 
    while(true) 
    { 
    str=scanner.next(); 
    if(!str.equalsIgnoreCase("")) 
     break; 
    int val=Integer.parseInt(str); 
    } 
} 
関連する問題