当我从命令行中输入两个字符串串,并比较是否相等,哪里错了?

public class App
{
public static void main(String[] args)
{
System.out.println(args[0].equls(args[1]));
}
}

第1个回答  2017-03-01
额 好像没有哪里是对的,
第一你缺少 Scanner s = new Scanner(System.in); //命令行接受语句
第二 args[] 这个是系统内的东西 本身对象是一个空的字符串 所以会报错:数组下标越界的异常!
给你个例子:
Scanner s = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String str1 = s.nextLine(); //在命令行输入接受
System.out.println("请输入第二个字符串:");
String str2 = s.nextLine(); //在命令行输入接受
System.out.println(str1 .equls(str2));追问

你会?我都说了,是从命令行输入了

第2个回答  2017-03-01
默认的主方法传进来的参数(也就是args)是一个长度为0的字符串数组,所以你args[1]会发生数组越界。会报java.lang.ArrayIndexOutOfBoundsException错误追问

那要怎样改呢?

追答

怎么改?我也不知道你要做什么,args里什么都没有,而你却要取它的第二个元素,肯定会报错啊,你比较了两个不存在的东西。

追问

那要怎么写程序呢?从命令行输入两个字符串比较是否相等

追答

你的需求是什么?手动输入两个字符串然后比较这两个字符串是不是一样?

追问

是的是的,就是这个意思,但是,是从命令行输入而不是在运行时输入的那一种

第3个回答  2017-02-28
equals方法名写错了追问

是的

我终于改对了,我知道哪里错了,第一是你说的方法名写错了,第二是我运行class文件 时候,不记得在后面接参数了,现在解决了,谢谢您

本回答被提问者采纳
相似回答