2012-04-27 11 views
2

"one two three"のような単純なステートメントを読み、各単語を配列[]トークンに入れるコードを書いていますが、最初の単語を読んでください。 メインメソッドを使って文を入力するとうまく動作します。 私のミスは何ですか?ここスキャナを使用して入力ステートメントを読む

2つのコードです:コンソールでの結果はとなります

public class MyLangyage { 
    public static void main(String[] args) { 
     String statement = "one two three"; 
     screen(statement); 
    } 
    public static void screen(String statement) { 
     String token[]= statement.split(" "); 

     for (int i = 0; i < token.length; i++) { 
      System.out.println(token[i]); 
     } 
    } 
} 

mainメソッドを使用して

// //スキャナを使用する:

import java.util.Scanner; 

public class MyLangyage { 
    public static void main(String[] args) { 
     Scanner scanner = new Scanner(System.in); 
     String statement = scanner.next(); 
     screen(statement); 
    } 
    public static void screen(String statement) { 
     String token[]= statement.split(" "); 

     for (int i = 0; i < token.length; i++) { 
      System.out.println(token[i]); 
     } 
    } 
} 

私はコンソールで書いた場合:

は、enterキーを押した結果は次のようになります。

答えて

7

あなたはscanner.next()を使用して、次の単語を取得しています。全体の行を読み取ってから分割したい場合はscanner.nextLine()

2

のどちらかが全体入力行を分割しました、または一度に1つのトークンを取得するためにスキャナを使用してください。両方をしないでください。

Scannerから複数の単語をプルダウンする場合は、scanner.next()を2回以上使用する必要があります。

関連する問題