반응형
1). 문제
2). 풀이
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
double d = scan.nextDouble();
String T = scan.nextLine();
String s = scan.nextLine();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
}
}
3). 설명
처음에 아무 생각없이 nextDouble()을 쓰고 바로nextLine()을 쓰고 쉽네~ 라고 했다.
하지만 오류!
이유 : nextDouble()(nextInt())를 사용하고 난뒤 nextLine()을 사용하면
버퍼에 남아있는 \n(Enter값)을 읽어들이기 때문에 nextLine() 메서드가 바로 리턴해버린다.
해결 : nextLine()을 호출하기 전에 nextLine()을 한번 써주면 버퍼에 있는 \n 읽어버리므로 그 다음 문자열이 잘 읽힌다.
PASS
반응형
'Java > Algorithm' 카테고리의 다른 글
[Java-Algorithm] HackerRank Java 2D Array - DS 풀이 (0) | 2021.01.25 |
---|---|
[Java-Algorithm] HackerRank Java Date and Time 풀이 (0) | 2021.01.25 |
[Java-Algorithm]HackerRank Java Static Initializer Block 풀이 (0) | 2021.01.25 |
[Java-Algorithm]HackerRank Java End-of-file (0) | 2021.01.22 |
[Java-Algorithm]HackerRank Java Loops II (0) | 2021.01.22 |