У вас может быть параметр, который настраивает странный разделитель. Вы можете получить байты разделителя, набрав:
StringBuilder sb = new StringBuilder();
for (byte b : in.delimiter().toString().getBytes()) {
sb.append(String.format("%02X ", b));
}
System.out.println(sb);
На моей 64-битной Ubuntu Java 1.8u202 я получаю:
5C 70 7B 6A 61 76 61 57 68 69 74 65 73 70 61 63 65 7D 2B
Если это так, вы можете указать разделитель явно, например,
Scanner in = new Scanner(System.in).useDelimiter("\n");
Еще одна вещь, которую вы можете попробовать, это следующий фрагмент кода, который жестко кодирует входы и позволяет легко изменять разделитель для дальнейшего тестирования:
public static void main(String[] args) {
String delim = "\n";
String[] values = new String[]{ "1", "aaa", "IND", "1.2" };
Scanner in = new Scanner(String.join(delim, values));
int n = in.nextInt();
String name = in.next();
String place = in.next();
double num = in.nextDouble();
System.out.printf("%d\t%s\t%s\t%f\n", n, name, place, num);
}