我正在自学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;
}
答案 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;
}