[자바] 입력받기..
나봄
아래와 같이 입력을 받으려고 하는데요..
메뉴는 1,2,3,4 번 이런 식으로 했어요..
그래서 메뉴가 정수가 아니면 다시 입력받도록 했죠..
그중에 일부인데요.. 1번이면 아래같이 소속, 이름, 부서 등을 입력받으려 하는데요..
이상하게 자꾸 소속 : 이 출력되고 입력을 안받고이름 : 이 바로 출력되고 이름값으로 입력을 받습니다!!
왜그런 거죠?? if(in.hasNextInt())
menu = in.nextInt();
else
continue;
if(menu == 1) {
System.out.println(소속 : );
String place = in.nextLine();
System.out.println(이름 : );
String name = in.nextLine();
System.out.println(부서 : );
String department = in.nextLine();
System.out.println(직위 : );
String position = in.nextLine();
System.out.println(전화번호 : );
String phoneNumber = in.nextLine();
System.out.println(이메일 : );
String email = in.nextLine();
}
-
이슬비
굳이 버퍼를 비우지 않아도..
그냥 아무것도 없는 in.nextLine() 한번만 호출해주면.. 마지막에 남아 있는 엔터를 처리하게 될것 같습니다. ^_^ -
샤이
아.. 그런거군요?!! 근데.. 버퍼는 어떻게 비우져? ^^;;
-
진샘
찬님 말씀이 맞는듯 ^^
-
참이삭
System.out.println() ---- System.out.print()로 바꿔보세요..
-
블랙캣
버퍼 문제 같습니다.
예를 들어
1 하고 엔터를 쳤을 경우
nextInt() 하면 1 이라는것만 들어 오지 않나요?
뒤에 있는 엔터는.. 아직 안 들어고 있을텐데..
그 마지막 엔터가.. 소속 다음에 있는 in.nextLine(); 로 들어 가는것 같은데요?
버퍼 한번 비워주고 해 보셨나요?? -
가지등
in 이 무엇이오?
-
다올
버퍼 문제인가요..? 확실치는 않지만... 예전에 키보드버퍼에 남아있는게 흘러들어가 자동으로 입력되서 고생했던 기억이 나네요... 한번 버퍼 비워주고 해보시는건 어떨까요.. 아니면.. 죄송합니다;ㅁ;