如下的代码,我运行后发现主函数不能接收数组,这个系统登录功能是不是缺少点什么呢 public class LoginDemo01
{
public static void main(String[] args)
{
if(args.length!=2){
System.out.println("输入的参数不正确,系统退出");
System.out.println("格式:java LoginDemo01 用户名 密码");
System.exit(1);
}
String name=args[0];
String password=args[1];
if(name.equals("lixinghua")&&password.equals("mldn"))
{
System.out.println("欢迎"+name+"光临");
}
else {
System.out.println("错误的用户名和密码");
}
}
}
{
public static void main(String[] args)
{
if(args.length!=2){
System.out.println("输入的参数不正确,系统退出");
System.out.println("格式:java LoginDemo01 用户名 密码");
System.exit(1);
}
String name=args[0];
String password=args[1];
if(name.equals("lixinghua")&&password.equals("mldn"))
{
System.out.println("欢迎"+name+"光临");
}
else {
System.out.println("错误的用户名和密码");
}
}
}
传参数了么?怎么知道的不能接收?把args打印出来看看。
出现:欢迎lixinghua光临
在eclipse下,就是右键-->run as-->open run dialog-->(x)Arguments里的program arguments
参数之间用空格隔开
在cmd下,java LoginDemo01 lixinghua mldn
结果:欢迎lixinghua光临楼主可能是直接先javac LoginDemo01.java,然后java LoginDemo01,这样就会报错
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at LoginDemo01.main(LoginDemo01.java:4)
这样是不行的,因为你没有传参数进去
{
public static void main(String[] args)
{
if(args.length!=2){
System.out.println("输入的参数不正确,系统退出");
System.out.println("格式:java LoginDemo01 用户名 密码");
System.exit(1);
}
else {String name=args[0];
String password=args[1];
if(name.equals("lixinghua")&&password.equals("mldn"))
{
System.out.println("欢迎"+name+"光临");
}
else {
System.out.println("错误的用户名和密码");
} }
}}
这样写就不会出错了。不管有没有传递参数