【发布时间】:2017-10-03 17:11:46
【问题描述】:
我对编码非常陌生,在尝试了多种解决方案后,我仍然无法弄清楚为什么我做错了。这是我的完整代码:
public class Student {
private String name;
private String grade;
private String gender;
private int number;
public Student( String name, String grade, String gender, int number ) {
this.name = name;
this.grade = grade;
this.gender = gender;
this.number = number;
}
public String getName() {
return name;
}
public void setName( String name ) {
this.name = name;
}
public String getGrade() {
return grade;
}
public void setGrade( String grade ) {
this.grade = grade;
}
public String getGender() {
return gender;
}
public void setGender( String gender ) {
this.gender = gender;
}
public String getNumber() {
return number;
}
public void setNumber( String number ) {
this.number = number;
}
}
正如您可能看到的,我不仅尝试在第一次使用对象时添加新的名称/等级/性别/int 编号,而且还尝试使用方法。
我遇到的问题似乎是在这部分引起的:
public String getNumber() {
return number;
}
public void setNumber( String number ) {
this.number = number;
}
当我将鼠标悬停在第二行的“数字”上时,BlueJ 给出以下错误:“不兼容的类型:int 无法转换为 java.lang.String”。
虽然当我将鼠标悬停在第五行的“数字”上时,BlueJ 给出了错误:“不兼容的类型:java.lang.String 无法转换为 int”。
我已经尝试在这个网站上搜索过类似的问题,但没有找到他们尝试使用int数通过使用方法来填充的地方。
【问题讨论】:
-
number是int而不是String,请将您的方法签名更改为public int getNumber()和public void setNumber( int number )。