Где я должен объявить поле в этом коде для его компиляции? - PullRequest
0 голосов
/ 13 декабря 2011

Это не должен быть клиентский класс.Я просто делаю урок для других.Я использую это для Highschool.Например, у меня есть классы для address, teacher, students, principal, roomnumber и т. Д. Но он не компилируется по какой-то странной причине.Я верю, потому что я не объявляю поле, но не уверен.

import java.io.*;


public class HighSchool {
    // Constructors
        public HighSchool() { } 

        public HighSchool(String title, String teacher, int roomNumber, String period, String[] students, String address, String subjects ) {
            this.title = title;
            this.teacher = teacher;
            this.roomNumber = roomNumber;
            this.period = period;
            this.String[] students = students;
            this.String address =a ddress;
            this.String subjects = subjects;
        }
        public class Classcourse (String title, String teacher, int roomNumber, String period, String[] students, String  address, String subjects

        private String period;) {

        public String gettitle() {
            return title;
        }
        public void settitle(String title) {
            this.title = title;
        }
        public String getteacher() {
            return teacher;
        }
        public void setteacher(String teacher) {
            this.teacher = teacher;
        }
        public int getroomNumber() {
            return roomNumber;
        }
        public void setroomNumber (int roomNumber) {
            this.roomNumber = roomNumber;
        }
        public String getperiod() {
            return getperiod();
        }
        public void setperiod (String period) {
            this.period = period;
        }
        public String[] getstudents () {
            return students[];
        }
        public void setstudents[] (String[] students

        private String address;) {
            this.students = students;
        }
        public String getaddress() {
            return address;
        }
        public void setaddress (String address) {
            this.address = address;
        }
        public String getsubjects() {
            return subjects;
        }
        public void setsubjects (String subjects) {
            this.subjects = subjects;
        }
        }


        // modifier method
        public void addstudents(String students) {
            String[] newstudents = new String[students.length + 1];
            for (int i = 0; i < students.length; i++) {
                newstudents[i] = students[i];
            }
            newstudents[students.length] = student;
            students = newstudents;
        }

        public boolean isInClass(String students) {
            for (int i = 0; i < students.length; i++) {
                if (students[i].equals(students)) {
                    return true;
              }
            }


            return false;
        }

        // static creator method
        public static HighSchool readFromInput() throws IOException {
            BufferedReader kb = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("Enter a HighSchool title: ");
            HighSchool newHighSchool = new HighSchool(kb.readLine());
            String students = null;
            do {
                System.out.print("Enter a student, or press Enter to finish: ");
                students = kb.readLine();
                if (students != null){
                    newHighSchool.addstudents(students);
                }
            } while (students != null);
            return newHighSchool;
        }


        // Variables (Fields)
        private String title;
        private String[] students;
}

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Кроме того, вы написали что-то, что не имеет смысла с точки зрения Java Compiler:

private String period;) { - возможно, удалите ")".

Второе:

Взгляните на объявление класса Classcourse.Это скорее звучит неправильно, хотя это может быть проблема редактора этого сайта или чего-то еще ...

«Общий» намек - в большинстве случаев java имеет очень «умный» компилятор, который может сказать, чтонеправильно с вашим кодом, поэтому, если вы новичок в Java, постарайтесь понять, что говорит вам компилятор.

Удачи!

0 голосов
/ 13 декабря 2011

Некоторые вещи, которые я заметил в коде:

    public String getperiod() {
        return getperiod();
    }

Этот код вызовет бесконечный цикл при вызове этой функции.

    private String address;) {
        this.students = students;
    }

Компилятор выдаст ошибку о ";)". Измените это на "()", чтобы исправить это.

Кроме того, вы должны рассказать нам больше об ошибках, которые он вам дает. Мы не сможем вам помочь, если вы не сообщите нам об ошибках компилятора.

...