【问题标题】:Why is it giving me an error when i'm calling it from inside the 'student class?当我从“学生班”内部调用它时,为什么它会给我一个错误?
【发布时间】:2021-01-11 05:13:16
【问题描述】:

*我必须创建一个名为 student 的类

但我遇到了一个错误,我不知道如何完成代码,但是 我所做的是:

public class Student {

String name;
private int age;
private int grade;
private int average;
private String disability;

public void StuInfo(){
name = "John";
age = 15;
grade = 71;
average = 63;
disability = "No";

    
System.out.println("Name: "+name+",Age: "+age+",Grade: "+grade+",Average: "+average );
}


public static void main(String[] args){
    StuInfo();
}
}

请帮忙。

【问题讨论】:

  • 您好,欢迎您!一般来说,您需要描述错误以及预期的内容。一些使您的程序编译的提示:您需要首先创建一个 Student 类的新对象或将 stunInfo() 方法设为静态。 (java对方法名的约定是以后小写开头)

标签: java string debugging printing integer


【解决方案1】:

为了成功编译您的程序,您首先需要创建一个 Student 类的新对象或将 stunInfo() 方法设为静态。 此外,Java 方法名称的约定是稍后以小写字母开头,因此 StunInfo 最好命名为“stunInfo”。可以考虑使用像“printStudentInfo()”这样的名称,这将更具可读性并更好地显示该方法的作用。(提高可读性) 这些笔记可以使您的示例正常工作,但它不是发布家庭作业的完整解决方案。您可能需要将 stunInfo() 方法的访问修饰符更改为只能从类等内部访问。

public class Student {

String name;
private int age;
private int grade;
private int average;
private String disability;

public void Student(){
  name = "John";
  age = 15;
  grade = 71;
  average = 63;
  disability = "No";
} // end constructor

public void stunInfo(){
    System.out.println("Name: "+name+",Age: "+age+",Grade: "+grade+",Average: "+average );
} //end stunInfo


public static void main(String[] args){
    //Create a new student
    Student student=new Student();
    //Invoke stunInfo method
    student.stunInfo();
} //end main

} //end class

【讨论】:

  • 如何将 stunInfo() 方法的访问修饰符更改为只能从类中访问?我不知道
  • 将“public void stunInfo”中的“public”一词替换为“private”。
【解决方案2】:

您正在从静态方法调用非静态方法。通过 -> new StuInfo();

创建 StuInfo 对象

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-15
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多