2012-04-27 2 views
2

"one two three"와 같은 단어의 간단한 문장을 읽고 각 단어를 배열 String [] 토큰에 넣으려면 스캐너를 사용하여 문장을 입력하고 싶습니다. 첫 단어를 읽으십시오. 내가 main 메소드를 사용하여 잘 작동하는 명령문을 입력 할 때. 내 실수는 무엇인지 알 수 있습니까? 여기 스캐너를 사용하여 입력 문 읽기

는이 개 코드입니다 :

// 주요 방법을 사용하여 :

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]); 
     } 
    } 
} 

콘솔에서 결과는 다음과 같습니다

하나 이 세

// 스캐너 사용 :

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]); 
     } 
    } 
} 

나 콘솔 쓰면 :

하나 두세

다음 입력 누르면 결과가 될 것이다

하나

답변

7

당신은 scanner.next()을 사용하여 다음에 읽는 단어를 얻습니다. 전체 줄을 읽은 다음 나누어 사용하려면 scanner.nextLine()

2

하나가 전체 입력 라인을 분할 스캐너를 사용하여 한 번에 하나의 토큰을 가져올 수 있습니다. 둘 다하지 마십시오.

Scanner에서 여러 단어를 가져 오려면 scanner.next()을 두 번 이상 사용해야합니다. 한 단어 당 한 번.

관련 문제