我有一个jar文件,询问用户n
的值。并添加输入的值。当jar从cmd.exe
执行时,效果很好。但是当从.bat
文件调用时,它不会提示输入而是执行其他语句。我尝试使用pipe,as,
(echo 3
echo 10
echo 20
echo 30)| java -jar add.jar
但没有工作。如何自动输入?
注意:值不被接受为参数,而是作为提示。
答案 0 :(得分:2)
在不了解代码的情况下,很难说它为什么不适合你。
见下面一个简单的工作示例
<强> Add.java 强>
import java.util.Scanner;
public class Add {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
while (scanner.hasNextInt()) {
int value = scanner.nextInt();
sum += value;
System.out.println("sum = " + sum);
}
}
}
<强>的run.bat 强>
@echo off
(echo 2
echo 10
echo 20
echo 30
echo end ) | java -jar Add.jar
编译并构建jar
javac Add.java
echo Main-Class: Add > manifest.mf
jar cmf manifest.mf Add.jar Add.class
运行批处理文件
run.bat
<强>输出强>
sum = 2
sum = 12
sum = 32
sum = 62