꽵()

2014-12-05 4 views
1
package new_package; 

import java.util.Scanner; 

public class Test { 

public static void main (String args[]) 

{ 
Scanner input = new Scanner(System.in); 

System.out.println("Enter a character"); 

char c = input.next().charAt(0); 

System.out.println ("Enter a string"); 

String s = input.nextLine(); 

System.out.println (c); 
System.out.println (s); 

} 

} 

먼저 실행 한 후,이 프로그램의 출력은 :꽵()

가 문자를

를 입력하고 출력 모습에 나는 문자 c를 입력하면 :

문자

C

문자열을 입력을 입력

C

이 프로그램의 문제는 내가 입력에 다음 라인 표창의 도움으로 입력 할 것으로 예상되는 문자열을 금지하고있다.

프로그램은 자동으로 문자열에 대해 값 ""을 취하고 빈 문자열을 인쇄합니다.

왜?

답변

1

next() 뒤에 nextLine()을 추가하여 얻은 토큰이 포함 된 줄의 끝을 사용하려면 next()을 호출하십시오. 그렇지 않으면 String s = input.nextLine();을 호출 할 때 회선의 끝이 소모되어 s이 비어있게됩니다.

char c = input.next().charAt(0); 
input.nextLine(); // add this 
System.out.println ("Enter a string"); 

String s = input.nextLine();