Cześć,
zabrałem się za naukę Javy w JetBrains Academy (nauka samego programowania jak i Intelij IDEA) i napotkałem problem, którego nie potrafię zrozumieć.
Oto treść zadania:
Write a program that reads five words from the standard input and outputs each word in a new line. The words should be in the same order.
Sample Input 1:
This Java course
is adaptiveSample Output 1:
This
Java
course
is
adaptive
Napisałem więc kilka linijek kodu, który działa odpalany poprzez Linuxowy terminal ale nie w samym Intelij IDEA. Poniżej kod
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String lineOne = scan.nextLine();
String lineTwo = scan.nextLine();
String whole = lineOne.concat(" " + lineTwo);
System.out.println(whole.replaceAll(" ", "\n"));
}
}
Intelij wypluwa taki błąd:
Runtime error
Exception in thread "main" java.util.NoSuchElementException: No line found at java.base/java.util.Scanner.nextLine(Scanner.java:1651) at Main.main(Main.java:9)
Java docs mówi o tym tutaj https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine()
No i nie rozumiem dlaczego coś co działa w terminalu nie chce działać w IDE krzycząc o brak nowej linii.
Może mi ktoś wytłumaczyć dlaczego tak się dzieje (w IDE) i jak tego uniknąć w przyszłości?