一个简单的程序,它从命令行获取 2 个参数,如果它们是 2,它只是将它们相乘,否则会抛出我的自定义异常 顺便说一句,这是我第一次使用 stackoverflow,所以请忽略愚蠢的错误
import java.util.*;
class MyException extends Exception
{
public String toString()
{
return "Something Went Wrong :(";
}
}
class ExceptionCLI
{
public static void main(String args[])
{
int A = Integer.parseInt(args[0]);
int B = Integer.parseInt(args[1]);
if() **//Missing Condition what should i write ?? args[].length < 2 ?? it doesnt work**
{
try
{
throw new MyException();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
else
{
System.out.println("Result: "+A*B);
}
}
}
尝试过: 1:
args[].length
2:int len = args[].length
我在java方面没有那么丰富的经验,所以我不知道还有什么其他方法可以尝试
任何帮助或建议将不胜感激。
问题不在于 CLI,而在于理解 Java 中的数组。
此示例的一些数组基础知识:
String [] args
将变量 args
声明为 String
的数组。String args []
是将变量 args
声明为 String
数组的另一种方法。args[]
本身没有任何意义。args
是一个变量。它的类型是 String []
,即 String
的数组。args[n]
是该数组的一个元素,即在本例中是一个单独的 String
。n
可以是常量、变量或表达式。n
必须可解析为 int
类型。Object
的属性和方法。此外,它还有一个length
属性。args
是此处参考文献的名称。length
属性的访问方式如下:args.length
其他评论:
args
的长度。可能是 args
是空的。也就是说,
args.length
可能为零。如果是这样的话,
args[0]
就不存在了。
ArrayIndexOutOfBoundsException
的准备。
NumberFormatException
。