2017-09-25 2 views
0

다음 코드에서 문제가 발생했습니다.이 문제를 살펴보고 문제를 해결하는 데 도움이됩니다. 코드입니다 : 프로그램의스캐너 클래스 Java

import java.util.*; 
public class Test1{ 
    public static void main(String ...args){ 
    Scanner s1=new Scanner(System.in); 
    int age; 
    age= s1.nextInt(); 
    System.out.println(age); 
    System.out.println("Enter Name"); 
    String name; 
    s1.next(); 
    name = s1.nextLine(); 
    System.out.println(name); 
} 
} 

입력 :

12 
12 
Enter Name 
A B C 
B C 

예상 출력 :

12 
    12 
    Enter Name 
    A B C 
    A B C 

내가 가져 오기를 도와 class.Please 스캐너를 시도하고 있었다 내 예상 출력, 내 실수를 지정하십시오. 당신이 대답을 설명해 주셔서 감사합니다.

+4

's1.next();'는 첫 번째 토큰을 버립니다. – Berger

+0

@Berger를 제거하면 s1.next(); 다음 출력입니다. 이름 입력 프로그램 이름이 입력되지 않고 종료되었습니다. –

+0

next(), nextInt() 또는 nextFoo()? (https : /)를 사용하면 [스캐너가 nextLine /stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-using-next-nextint-or-other-nextfoo – AxelH

답변

1
import java.util.*; 

public class Test1 
{ 
    public static void main(String ...args){ 
    Scanner s1=new Scanner(System.in); 
    int age; 
    age= s1.nextInt(); 
    System.out.println(age); 
    System.out.println("Enter Name"); 
    s1.nextLine(); 
    String name = s1.nextLine(); 
    System.out.println(name); 
    } 
} 

이렇게하면됩니다.

sc.next() uses <space> as a delimiter by default. 
+0

감사합니다. @Gaurang 작동했습니다. –

+0

도와 드리겠습니다. :) –