作爲一名JAVA助教,我受到了很多學生實驗室的評分。很多這些實驗室都使用掃描儀來獲取用戶的輸入。我可以利用heredoc在不改變學生代碼的情況下使用相同的輸入參數運行所有實驗室,而不是重複向鍵盤輸入數字。我有什麼至今(除定界符式的代碼,適用於):bash命令行中的Java Heredoc
#!/bin/bash
for i in unzip/*; do
echo $i
javac $i/lab0/AddThree.java
cd $i/lab0
java AddThree <<EOF
2
3
4
EOF
cd ../../..
done
我試圖級的代碼添加由用戶提供的三個整數。解壓縮是每個學生都有一個文件夾的目錄(即文件結構./unzip/student/lab0/sourcecode.java)
的Java提供了:
unzip/student
Hello out there
I will add three numbers for you
Enter three whole numbers on a line :
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at AddThree.main(AddThree.java:10)
./lab0test: line 9: 2: command not found
./lab0test: line 10: 3: command not found
./lab0test: line 11: 4: command not found
./lab0test: line 12: EOF: command not found
什麼是與這裏的問題-文件?您是否只需要提供輸入或您是否還需要根據應用輸出更改輸入? –
我無法修改實驗室作業。我正在編輯與我的錯誤來自Java的原始帖子。 – voltnor