Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 完全迷路了,请帮助二传手和接球手_Java_Setter_Getter - Fatal编程技术网

Java 完全迷路了,请帮助二传手和接球手

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

好的,我的书中给出了主要的方法。我只需要使用setter和getter,并创建determineTypeOfStudent方法。目标是显示他们的姓名、年龄,然后是他们可能所在的年级

出现的错误如下所示:

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());