質問:
jshellスクリプトでユーザー入力を取得する方法は? または私が間違っていることは何ですか?
注:引数を jshell script に渡す方法を探していません。
例:
たとえば、スクリプトhello.java
:
Scanner in = new Scanner(System.in);
System.out.print("Enter number n1: ");
int n1 = in.nextInt();
System.out.print("Enter number n2: ");
int n2 = in.nextInt();
System.out.println("n1 + n2 = "+ (n1 +n2));
/exit
jshellで1行ずつ入力すると機能しますが、実行するjshell hello.java
と機能しません。投げjava.util.NoSuchElementException
ます。
私が得る出力:
@myMint ~/Java $ jshell hello.java
Enter number n1: | java.util.NoSuchElementException thrown:
| at Scanner.throwFor (Scanner.java:858)
| at Scanner.next (Scanner.java:1497)
| at Scanner.nextInt (Scanner.java:2161)
| at Scanner.nextInt (Scanner.java:2115)
| at (#3:1)
Enter number n2: | java.util.NoSuchElementException thrown:
| at Scanner.throwFor (Scanner.java:858)
| at Scanner.next (Scanner.java:1497)
| at Scanner.nextInt (Scanner.java:2161)
| at Scanner.nextInt (Scanner.java:2115)
| at (#5:1)
n1 + n2 = 0
私のシステム: Linux Mint 18.2(x64)、JShell バージョン 9.0.1