Java 将输入中的字符串解析为参数问题
我想在我用unix编写的java程序中添加更多命令,但在传递参数时遇到了问题。我之前只是在unix中输入命令,并将文本文件作为程序参数,它工作得很好,但我想请求输入。我试图自己修复它,但对java有点陌生 我有Java 将输入中的字符串解析为参数问题,java,string,file,unix,Java,String,File,Unix,我想在我用unix编写的java程序中添加更多命令,但在传递参数时遇到了问题。我之前只是在unix中输入命令,并将文本文件作为程序参数,它工作得很好,但我想请求输入。我试图自己修复它,但对java有点陌生 我有 public static void main(String[] args) { String input = args[0]; /// String count = args[1]; File ne
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
}
所以我犯了这些错误
java:24:错误:不兼容的类型
int count=scanner.nextLine;
^
必填项:int
找到:字符串
java:27:错误:找不到适合ParseInt的方法
StartProcess being=新的StartProcess输入,Integer.parseIntcount//开始运行进程
^
方法Integer.parseIntString不适用
无法通过方法调用转换将实际参数int转换为字符串
方法Integer.parseIntString,int不适用
实际参数列表和形式参数列表的长度不同
2个错误计数已经是一个整数-无需解析变量
StartProcess being = new StartProcess(input, count);
此方法nextLine返回一个字符串,而不是整数
你可能想用这个来代替
int count = scanner.nextInt();
您将输入作为字符串,更改为整数,它应该可以工作。您正在重新发明轮子。请改用任何标准库,例如..谢谢,但这只修复了其中一个错误,我仍然会收到以下错误:java:24:error:compatible types int count=scanner.nextLine;^必需:int found:String 1错误,与第二个列表中的错误不同-将其切换回int count=scanner.nextInt;编译错误似乎与粘贴的代码无关。我认为代码应该可以编译。