我想知道如何检查方法中的args.length。
例如:
public static void commandLineCheck (int first, int second){
if (args.length==0){
//do something with first and second
}
}
public static void main(String[] args) {
int first = Integer.parseInt(args[0]);
int second = Integer.parseInt(args[1]);
commandLineCheck(first, second);
}
当我这样做时,我收到“找不到符号:args”错误。现在,我想我也需要通过该方法传递args []。我试过这个,但它给了我一个“”错误。是否有适合初学者的解决方案?
编辑:非常感谢你们的快速反应!它奏效了!答案 0 :(得分:0)
像这样更改你的代码(你需要将数组的参数传递给你的检查方法)
public static void commandLineCheck (int first, int second, String[] args){
if (args.length==0){
//do something with first and second
}
}
public static void main(String[] args) {
int first = Integer.parseInt(args[0]);
int second = Integer.parseInt(args[1]);
commandLineCheck(first, second, args);
}
它会起作用。但是,以下测试(args.length==0)
没有多大意义,因为您已经假定args.length大于或等于2,方法是在main方法中从中提取两个值。因此,当您使用commandLineCheck方法时,此测试将始终为false。
答案 1 :(得分:0)
您需要将String [] args
传递给commandLineCheck
方法。这与您为main
方法声明数组的方式相同。
public static void commandLineCheck (String[] args){
if (args.length==0){
//do something with first and second
}
}
此外,您可能希望稍微更改主方法和commandLineCheck
方法。
public static void commandLineCheck(String [] args) {
/* make sure there are arguments, check that length >= 2*/
if (args.length >= 2){
//do something with first and second
int first = Integer.parseInt(args[0]);
int second = Integer.parseInt(args[1]);
}
}
public static void main(String[] args) {
commandLineCheck(args);
}