我来自另一个类的方法,不会在我的Main类中调用输入

时间:2019-04-15 16:40:53

标签: java intellij-idea jetbrains-ide

我正在自学Java,并且试图运行自己编写的一段代码。我在Udemy自我学习课程中谈论课堂的时候。我在IDE IntelliJ中创建了一个名为Person的项目。本质上,目标是输入名字和姓氏作为字符串,输入年龄作为数字,然后经过并吐出人员的全名(如果他们是青少年)。

但是我处于输入阶段,并且在我的主类中不断收到错误消息。但是,当我尝试输入Dan(person.SetFirstName(“ Dan”))时,它返回一个错误,提示:“ setFirstName()in person无法应用于java.lang.String”

在下面,您将从主类以及我的person类的前几行中找到我的代码,我觉得如果我能用第一种方法弄清楚问题,就可以解决其余的问题。

我在班级论坛上提问,但似乎无法得到答案,有人认为这可能与我的IDE本身有关?

公共类主要{

public static void main(String[] args) {

Person person = new Person();
person.setFirstName("Dan");
person.setLastName();
person.setAge();
    System.out.println("Full Name = " + person.getFullName());
    System.out.println("Are they a teenager? " + person.isTeen());
    person.setFirstName();
    person.setAge();
    System.out.println("Full Name = " + person.getFullName());
    System.out.println("Are they a teenager? " +person.isTeen());
    person.setLastName();
    System.out.println("Full Name = " + person.getFullName());

}

}

公共类人{

private String firstName;
private String lastName;
private int age;

public String getFirstName(){
    return this.firstName;
}
public void setFirstName(){
    this.firstName = firstName;
}

2 个答案:

答案 0 :(得分:0)

public void setFirstName()没有定义任何参数,但是您要向其传递字符串参数(person.setFirstName("Dan");)-这样就出错了。

尝试将方法签名更改为:

public void setFirstName(String firstName){
        this.firstName = firstName;
    }

答案 1 :(得分:-1)

更改此

public void setFirstName(){
    this.firstName = firstName;
}

public String setFirstName(){
    this.firstName = firstName;
    return firstName;
}