[英]How to pass command-line arguments?
我尝试编译这个简单程序时遇到上述错误:
/* @author
* This program expects two command-line arguments
* -- a person's first name and last name.
* For example:
* C:\Mywork> java Greetin Annabel Lee
*/
public class Greetin
{
public static void main(String[] args)
{
String firstName = args[0];
String lastName = args[1];
System.out.println("Hello, " + firstName + " " + lastName);
System.out.println("Congratulations on your second program!");
}
}
从查看其他问题,我理解错误与args == 0
和0
大于数字有关,但我不知道如何解决这种情况的问题。 是否有任何方法错误也被识别为由void
引起?
我的猜测是你的程序没有提供任何args。 好的惯例是确保用户输入预期的args数量,否则死亡。 在你的情况下:
if( args.length != 2 ){
System.out.println("usage: Greetin <firstName> <lastName>");
}
else{
String firstName = args[0];
String lastName = args[1];
System.out.println("Hello, " + firstName + " " + lastName);
System.out.println("Congratulations on your second program!");
}
此外,请确保在编译之后键入: java Greetin Annabel Lee
以正确设置参数。
您可能没有将两个命令行参数传递给您的程序。 该错误告诉您数组args
没有任何元素,因为索引0
超出了有效范围。 确保在运行程序时传递参数。
java Greetin Annabel Lee
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.