我想在我的java程序中添加更多命令我在unix中编写但是在传递参数时遇到了问题。我刚刚使用文本文件作为程序参数输入unix命令,该程序参数工作得很好但是想要求输入。试图自己解决它,但对java有点新的
我有,
public static void main(String[] args)
{
String input = args[0];
///
String count = args[1];
File newF = new File(input); //
StartProcess start = new StartProcess(input, Integer.parseInt(count)); //begin
}
哪个工作得很好,然后尝试了这个,失败了
public static void main(String[] args)
{
//String inputFile = args[0]; //read the input file
Scanner scanner = new Scanner(new InputStreamReader(System.in));
System.out.println("Please enter file");
String input = scanner.nextLine();
System.out.println("Please enter number");
int count = scanner.nextInt();
//String interruptCounter = args[1]; //read the interrupt value
File newFile = new File(input); //create a new file with the input file
StartProcess being = new StartProcess(input, Integer.parseInt(count)); //begin
}
所以我收到了这些错误
CPU.java:24:错误:不兼容的类型 int count = scanner.nextLine(); ^ 必需:int 发现:字符串 CPU.java:27:错误:没有为parseInt(int)找到合适的方法 StartProcess is = new StartProcess(input,Integer.parseInt(count)); //开始运行该进程 ^ 方法Integer.parseInt(String)不适用 (实际参数int不能通过方法调用转换转换为String) 方法Integer.parseInt(String,int)不适用 (实际和正式的参数列表长度不同) 2个错误
答案 0 :(得分:0)
count
已经是一个整数 - 无需解析变量
StartProcess being = new StartProcess(input, count);
答案 1 :(得分:0)
此方法nextLine
返回String而不是整数。
您可能希望改用它。
int count = scanner.nextInt();
答案 2 :(得分:0)
您输入为字符串,更改为整数,它应该有效。
答案 3 :(得分:0)
你正在重新发明轮子。请改用标准库,例如Commons CLI