我有java程序,我想在命令行中运行jar。但在我运行处理数据的函数之前,我有两个条件需要满足。 1. args[0]
必须是整数。 2.需要有两个参数。如果不满足这些条件,我想要弹出一条错误消息,然后系统退出。我想我能做正确的#1,但我如何将它们结合起来呢?
public static void main(String[] args) throws IOException
{
try
{
int x = Integer.parseInt(args[0]);
process(x, args[1]);
}
catch(NumberFormatException e)
{
System.output.println("Please enter an integer");
}
}
答案 0 :(得分:2)
然后,这是您应该编写的代码:
public static void main(String[] args) throws IOException {
if(args == null || args.length != 2) {
System.out.println("You have not entered the required two parameters");
return;
}
try {
int x = Integer.parseInt(args[0]);
process(x, args[1]);
} catch (NumberFormatException e) {
System.out.println("Please enter an integer");
}
}
请注意,System.output.println中存在编译错误(“请输入整数”);声明,更确切地说:
System.out.println("Please enter an integer");
答案 1 :(得分:0)
args.length会给你参数的数量,所以添加像
这样的东西if(args.length != 2)
{
throw new IOException(argumentDescriptionHere);
}
答案 2 :(得分:0)
你可以这样做#2:
if (args.length < 2)
{
System.err.println("Need 2 arguments!");
System.exit(-1)
}
答案 3 :(得分:0)
public static void main(String[] args) throws IOException
{
try
{
if(args == null || args.length != 2)
{
System.out.println("Invalid arguments");
}
else{
int x = Integer.parseInt(args[0]);
process(x, args[1]);
}
}
catch(NumberFormatException e)
{
System.out.println("Please enter an integer");
}
}