Java 完全迷路了,请帮助二传手和接球手
好的,我的书中给出了主要的方法。我只需要使用setter和getter,并创建determineTypeOfStudent方法。目标是显示他们的姓名、年龄,然后是他们可能所在的年级 出现的错误如下所示:Java 完全迷路了,请帮助二传手和接球手,java,setter,getter,Java,Setter,Getter,好的,我的书中给出了主要的方法。我只需要使用setter和getter,并创建determineTypeOfStudent方法。目标是显示他们的姓名、年龄,然后是他们可能所在的年级 出现的错误如下所示: System.out.println("Age ", + student1.getAge()); 它说没有为printlnString找到合适的方法,int后面有一段话说不适用 System.out.println("Type of Student: " + student1.determin
System.out.println("Age ", + student1.getAge());
它说没有为printlnString找到合适的方法,int后面有一段话说不适用
System.out.println("Type of Student: " + student1.determineTypeOfStudent());
这一个说方法determineTypeOfStudent不能应用于给定的类型;
必填项:int
找到:非参数
原因:实际参数列表和正式参数列表的长度不同
环绕着
介绍
那么这两个,
System.out.println("Type of Student: " + student2.determineTypeOfStudent());
System.out.println("Type of Student: " + student1.determineTypeOfStudent());
谁和以前一样
我对这东西很陌生,所以如果你们纠正我并给我一个解释,我会很感激的。谢谢
public class StudentClient {
public static void main(String[] args) {
Student student1 = new Student("Bob", 15);
Student student2 = new Student("Jan", 13);
System.out.println("Name: " + student1.getName());
System.out.println("Age ", + student1.getAge());
System.out.println("Type of Student: " + student1.determineTypeOfStudent());
System.out.println("\n" + student2.fullString());
System.out.println("Type of Student: " + student2.determineTypeOfStudent());
student1.setName("Ted");
student1.setAge(35);
System.out.println("\n" + student1.fullString());
System.out.println("Type of Student: " + student1.determineTypeOfStudent());
}
----类文件------
public class Student {
private String studentName;
private int studentAge;
public Student(String newName, int newAge) {
setName(newName);
setAge(newAge);
}
public void setName(String newName) {
studentName = newName;
}
public String getName() {
return studentName;
}
public void setAge(int newAge) {
if (newAge > 0) {
studentAge = newAge;
} else {
System.out.println("Age cannot be less than zero");
}
}
public int getAge() {
return studentAge;
}
public String fullString() {
return (studentName + studentAge);
}
public static String determineTypeOfStudent(int studentAge){
if (studentAge > 0 || studentAge <= 4)
return "Preschool";
else if (studentAge == 5)
return "Kindergarten";
else if (studentAge >= 6 || studentAge <= 10)
return "Elementary School";
else if (studentAge >= 11 || studentAge <= 13)
return "Middle School";
else if (studentAge >= 14 || studentAge <= 17)
return "High School";
else if (studentAge >= 18)
return "College";
else
return "Invalid";
}
}
您应该更改:
System.out.println("Age ", + student1.getAge());
到
System.out.println接受一个参数
至于determineTypeOfStudent——您调用它时不带任何参数,但它声明接受一个int参数。此外,您应该考虑是否真的希望该方法是静态的。 < P>第一个不是很好,因为PrtLLN只接受一个参数。第二个不起作用,因为不能添加字符串和int。应该首先对字符串调用print,然后对int调用println
System.out.print("Age ");
System.out.println(student1.getAge());
哎呀,那个逗号是个打字错误,谢谢你抓住了。如果不是静态的,它应该是什么?为什么?@DonaldNeal我不知道DeterminetyPeopsStudent应该做什么,但你把它称为一个特定的学生实例——student1.DeterminetyPeopsStudent。如果它包含使用该实例数据的逻辑,那么它就不能是静态的。只需删除static关键字。如果它不依赖于任何学生实例,请保持它静态,但像静态方法一样调用它-Student.determineTypeOfStudent-这表明这是一个静态方法。determineTypeOfStudent方法返回学生最可能的学校教育级别。o学龄前0-4岁o幼儿园5岁o小学6-10岁o中学11-13岁o高中14-17岁o大学18岁&upAh-yay事实上,我都修好了。但是我的else if语句也错了,但是我把它们改成了&,而不是| |,一切都运行得很好!谢谢你的帮助。
System.out.print("Age ");
System.out.println(student1.getAge());