#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. Я рад, что вы решили свою проблему. Не стесняйтесь принять мой ответ , если считаете, что он был вам полезен.