🐰 문제
Scanner sc = new Scanner(System.in);
String favoriteFood = sc.nextLine();
double star = sc.nextDouble();
double ave = (star/5)*100;
String recipe1 = sc.nextLine();
String recipe10 = sc.nextLine();
System.out.println("[ " + favoriteFood + " ]");
System.out.println("별점 : " + star + " (" + ave + ")");
System.out.println("1. " + recipe1);
System.out.println("10. " + recipe10);
🥕 예상 결과
[ 백종원 돼지고기 김치찌개 만들기 ]
별점 : 4.0 (80.0)
1. 돼지고기는 핏물을 빼주세요.
🥕 결과
[ 백종원 돼지고기 김치찌개 만들기 ]
별점 : 4.0 (80.0)
1.
2. 돼지고기는 핏물을 빼주세요.
🐰 이유
nextDouble()
은 개행문자 전까지만 입력을 받고 입력 후 남은 개행문자는 무시된다.
nextLine()
은 개행문자를 만나기 전까지 모든 문자들을 가져오는데 nextDouble()
에서 무시된 개행문자를 nextLine()
에 의해 입력으로 처리돼서 1.
부분이 공백으로 출력됐다.
🐰 해결
- 이 이슈를 해결하려면
nextDouble()
과 nextLine()
사이에 개행문자를 처리할 수 있는 scanner.nextLine()
을 추가해주면 된다.