Java入门程序无法运行

新手上路,请多包涵

代码

代码如图,无法打印出true。求大神指导指导~

阅读 2.1k
4 个回答

双等 换成equals

String 重写了equals方法,==比较的是地址,你想要比较值的话要用equals,if(y[0].equals(s[0])),另外,s是从外面传递进来给main方法的参数

新手上路,请多包涵

java中数组是作为对象来处理的,根据你的代码:“y[0] == s[0]”,

  1. 因为s[0]是传入到main方法的第一个参数, 当你你运行时输入了参数:1, 会返回false;

  2. 如果你的代码改为:“y[0].equals(s[0])”,当你你运行时输入了参数:1, 会返回true;

  3. 我想你的代码本来应该是:“y[0] == x[0]”. 所以当使用equals时,才会返回true,输出“true”。

package test;

public class test {
    public static void main(String s[]) {
        String[] y={"1"};
        String[] x={"1"};
        if (y[0].equals(s[0])) {
            System.out.println("true");
        }
    }

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题