So I was solving the stdin and stdout II question on Hackerrank. Code attached below:
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
double d = sc.nextDouble();
sc.nextLine();
String s = sc.nextLine();
sc.close();
//printing the output
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
}
}
And it always skipped the String s = sc.nextLine();
if I did not use sc.nextLine();
after every numerical input.
The only thing I know is that I have to add that line there. But I have no idea. Can anybody please explain to me why such aberrant behavior happens?