ошибка компиляции класса java — Student

#java

#java

Вопрос:

я написал этот Java-код и получаю сообщение об ошибке, кто-нибудь может сказать мне, почему? код предназначен для создания класса student и будет протестирован. я новичок в Java, поэтому буду признателен за любую помощь, это код:

 import java.io.*;
import java.util.*;

public class Student {
private static void main(String[] args) 
    {

                private String forName;
                private String surName;
                private String studentID;
                private String degreeScheme;

            //This is the Constructor of the 
class Student
                public Student(String name) {
                    this.forName = forName;
                }
            //Assign the surname of the student 
                public void stuSurname (String 
stuSurname){
                    surName = stuSurname;
                }
            //Assign the student ID to the 
student
                public void stuID (String stuID){
                    studentID = stuID;
                }
            //Assign the Degree of the Student
                public void stuDegree (String 
stuDegree){
                    degreeScheme = stuDegree;

                }

            //Print the student details
                public void printStudent(){

System.out.println("Forname:"  forName);

System.out.println("Surename:"  surName);
                    System.out.println("Student 
ID:"  studentID);
                    System.out.println("Degree 
Scheme:"  degreeScheme);
                }
            // setter
            public void setForName(String 
forName) {
                this.forName = forName;
            }

            // getter
            public String getForName() {
                return forName;
            }

     }
 }
  

и это ошибка, которую я получаю:

 TheRealFawcett:lab8 therealfawcett$ javac 
Student.java
Student.java:8: error: illegal start of 
expression
                private String forName;
                ^
Student.java:49: error: class, interface, or enum 
expected
}
^
2 errors
TheRealFawcett:lab8 therealfawcett$ 
  

я не понимаю, почему я получаю эту ошибку, поскольку я думал, что мой основной метод был правильным.

Комментарии:

1. Члены и методы класса принадлежат самому классу, а не основному методу

2. Другими словами, вы не можете объявить локальную переменную (которую вы получаете, когда помещаете переменные внутри метода) как private . Личные данные выходят за пределы метода.

3. @thatotherguy Что это значит? как бы мне это сделать?

Ответ №1:

Поля принадлежат классу, а не методу. Также методы должны быть на уровне класса.

В вашем коде все поля и методы находятся в методе main, что неверно.

Следующий фрагмент показывает правильную версию:

 public class Student {
    private static void main(String[] args) {
        Student student = new Student("Charles");
    }

    private String forName;
    private String surName;
    private String studentID;
    private String degreeScheme;

    //This is the Constructor of the 
    public Student(String name) {
        this.forName = forName;
    }

    //Assign the surname of the student 
    public void stuSurname(String stuSurname) {
        surName = stuSurname;
    }

    //Assign the student ID to the student
    public void stuID(String stuID) {
        studentID = stuID;
    }

    //Assign the Degree of the Student
    public void stuDegree(String stuDegree) {
        degreeScheme = stuDegree;
    }

    //Print the student details
    public void printStudent() {
        System.out.println("Forname:"   forName);
        System.out.println("Surename:"   surName);
        System.out.println("Student ID:"   studentID);
        System.out.println("Degree Scheme:"   degreeScheme);
    }

    // setter
    public void setForName(String forName) {
        this.forName = forName;
    }

    // getter
    public String getForName() {
        return forName;
    }
}
  

Чтобы узнать больше о классах и объектах Java, вы можете следовать этому официальному руководству.

Комментарии:

1. Теперь я изменил свой код, есть ли способ, которым я могу поговорить с вами подробнее о некоторых других проблемах, которые у меня есть

2. Я рад, что вы решили свою проблему. Не стесняйтесь принять мой ответ , если считаете, что он был вам полезен.