老师,我的代码一直报错

老师,我的代码一直报错

第20行一直报错,请老师检查一下


package com.imooc.duixiang;


public class UersTests {

     public String equals(String name1,String name2) {

      String str;

    if(name1!=name2) {

    str="flase";

    }else {

    str="ture";

    }

    return str;

     }

public static void main(String[] args) {

Users yonghu1=new Users("Lucy",123456);

Users yonghu2=new Users("Mike",123456);

UersTests str=new UersTests();

     System.out.println("用户名:"+yonghu1.getName()+"\n"+"密码:"+yonghu1.getPassword());

     System.out.println("用户名:"+yonghu2.getName()+"\n"+"密码:"+yonghu2.getPassword());

System.out.println("==================================");

  if(str.equals(yonghu1.getName(),yonghu2.getName())) {

  System.out.println("用户名或密码不一致");

  else

  System.out.println("用户名和密码一致");

  }

}


}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2021-08-18 11:59:45

同学你好,因为这里同学调用的是equals方法返回值是String类型,而if中需要传入的是boolean类型,所以报错

http://img1.sycdn.imooc.com//climg/611c7cbd098c61a105260428.jpg

http://img1.sycdn.imooc.com//climg/611c7ced099eef6d05330100.jpg

这里同学可以将该返回值跟true进行比较,如下

if (str.equals(yonghu1.getName(), yonghu2.getName()).equals("true"))

或者也可以分开写,如下

String st = str.equals(yonghu1.getName(), yonghu2.getName());
if (st.equals("true"))

祝学习愉快~

spacer.gif

  • 提问者 嫣语四然 #1

    老师、我不明白 geiuser是指什么?还有为什么if(name1=name2) 这么写的话会报错? 还有怎么把返回值做比较?老师虽然告诉了我代码,但我还是有些看不懂,能不能讲一下,谢谢。

    2021-08-18 15:07:43
  • 好帮手慕阿园 回复 提问者 嫣语四然 #2

    同学你好

    1、很抱歉,按照同学的代码这里应该是getName;同学没有粘贴实体类,无法测试,所以老师自己找了个实体类,属性名是user,这里粘贴代码时忘记改了,这里是调用属性的get方法,回答已修改

    2、在java中一个等号=是赋值操作,判断是否相等需要使用==,if(name1=name2),是将name2赋值给name1,所以会报错

    3、这里同学的代码中自定义了一个名为equals的方法,跟普通方法一样,这里方法名可以为equ,或者其他都可以,该方法返回了String类型的字符串;在if语句中调用了该方法,该方法的返回值是String类型,if判断中不能直接添加String类型的数据,按照同学的写法,if("true")或者if("false"),所以会报错;将该方法的返回值true或者false做比较,如果返回为true,则说明name1==name2,则用户名一致

    祝学习愉快~

    2021-08-18 17:08:52
  • 提问者 嫣语四然 #3

    老师、还有你写的最后一行的代码。 if(st. equals("ture"))  在这行代码中,equals 方法我创建了2个字符串参数,老师在引用时只建入一个不会报错吗?

    2021-08-18 17:16:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师