比方说,我有一个程序,要求使用扫描仪的三个数字,这样的事情:如何将输入管道输入到java程序中,但是输入中仍显示输入?
Scanner console = new Scanner(System.in);
int[] numbers = new int[3];
System.out.println("Hello!");
for (int i = 0; i<3; i++){
System.out.print("Please enter a number: ");
numbers[i] = console.nextInt();
}
我想通过重定向一些输入到它,然后将输出重定向到一个文件来测试像这样的程序。
input.txt中
3
4
5
命令
java program <input.txt> output.txt
的问题是,output.txt的会是这个样子
Hello!
Please enter a number: Please enter a number: Please enter a number:
至于反对这样的事情
Hello!
Please enter a number: 3
Please enter a number: 4
Please enter a number: 5
有什么办法让output.txt看起来更像第二个?我在Mac上,如果这改变了任何东西。
我不想修改代码 - 我必须为很多类似的程序运行此测试。
也许,如果你打印出来就可以了(的System.out.println())也是许多用户输入 – pringi
的问题其实是,我需要评分约300名学生的java作业,并且无法修改他们的所有代码。 – Arya
@pringi如果用户直接使用该程序,这会将数字打印到控制台两次 – flakes