首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在System.out.println中调用方法时显示错误“Cannot resolve method 'println(void)‘”

在System.out.println中调用方法时显示错误“Cannot resolve method 'println(void)‘”
EN

Stack Overflow用户
提问于 2020-06-15 00:54:25
回答 3查看 1.5K关注 0票数 1

Person类:

代码语言:javascript
运行
复制
public class Person {

    public Person() { }

    public void isTheSamePerson (Person p){
       if (p.equals(p)) {
           System.out.println("They have the same names !!!");
       } else{
           System.out.println("They have different names !!!");
       }
    }
}

驱动程序类:

代码语言:javascript
运行
复制
public class Driver {

    public static void main(String[] args) {
        Person Persona1 = new Person();
        Person Persona2 = new Person();
        System.out.print(Persona1.isTheSamePerson(Persona2));
    }
}

当我试图在System.out.println()中调用方法isTheSamePerson()时。我收到错误“无法解析方法'println(void)‘”

EN

回答 3

Stack Overflow用户

发布于 2020-06-15 01:08:33

在这里你的代码中有几件事是错误的。首先,与其他注释一样,您不应该在system.out.println中调用该方法,因为它已经在该方法中打印结果。

第二件事是你的相等的比较器。

代码语言:javascript
运行
复制
  if (p.equals(p)) { 

您正在将对象与其自身进行比较,这是错误的。您可能想要比较对象的实例,并且看起来您正在尝试比较名称,因此可能类似于

代码语言:javascript
运行
复制
if(this.name.equals(p.getName())){

}
票数 2
EN

Stack Overflow用户

发布于 2020-06-15 01:18:51

isTheSamePerson()方法的返回类型为空。

但是,System.out.print()需要一个String类型的对象。

此外,isTheSamePerson()总是打印相同的消息,因为它只使用一个Person并将其与自身进行比较。

票数 2
EN

Stack Overflow用户

发布于 2020-06-15 01:03:47

为什么要在println方法内部调用它

代替System.out.print(Persona1.isTheSamePerson(Persona2));

写Persona1.isTheSamePerson(Persona2);

你应该会得到预期的输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62375577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档