В моей программе есть сообщение об ошибке: ожидается класс, интерфейс или перечисление.Что делать? - PullRequest
0 голосов
/ 05 октября 2018

Класс ILS:

import java.util.Scanner;

class iLs {
    private String name;
    private String section;
    private double one;
    private double two;
    private double three;
    private double four;
    private double genave;


    public iLs(String name, String section, double one, double two, double three, double four, double genave){


        this.name =  name;
        this.section = section;
        this.one = one;
        this.two = two;
        this.three = three;
        this.four = four;
        this.genave = genave;

    }


    public void setName(String name){
        this.name = name;
    }


    public void setSection(String section){
        this.section = section;

    }

    public void setOne(String one){
        this.one = one;

    }

    public void setTwo(String two){
        this.two = two;
    }


    public void setThree(String three){
        this.three = three;
    }


    public void setFour(String four){
        this.four = four;
    }


    public void setGenave(String genave){
        this.genave = genave;
    }


    public String getName(){
        return name;
    }


    public String getSection(){
        return section;
    }


    public double getOne(){
        return one;
    }


     public double getTwo(){
        return two;
    }


    public double getThree(){
        return three;
    }


    public double getFour(){
        return four;
    }


    public double getGenave(){
        return genave;
    }
}

Класс ученика:

import java.util.Scanner;

class Student {
    public static void main(String args[]) {
        String name;
        String section;
        double one;
        double two;
        double three;
        double four;
        double genave;


        iLs a =  new iLs();
        Scanner input = new Scanner(System.in);


        a.setName = (input.nextLine());
        a.setSection = (input.nextLine());
        a.setOne = (input.nextLine());
        a.setTwo = (input.nextLine());
        a.setThree = (input.nextLine());
        a.setFour = (input.nextLine());
        a.setGenave = (input.nextLine());


        System.out.println("Name: " + a.getName());
        System.out.println("\nSection: " + a.getSection());
        System.out.println("\n1q: " + a.getOne());
        System.out.println("\n2q: " + a.getTwo());
        System.out.println("\n3q: " + a.getThree());
        System.out.println("\n4q: " + a.getFour());
        System.out.println("\nGeneral Average: " + a.getGenave());
    }
}

Во-первых, у меня нет публичного класса, поэтомупрограмма потребовала, чтобы общественный класс.Но когда я это сделал, это произошло, error: class, interface, or enum expecte HELP !!!

Я не знаю, что делать, и я настолько новичок в компьютерном программировании.

Ответы [ 4 ]

0 голосов
/ 05 октября 2018

Код, который вы дали, не является рабочим кодом, так как у вас есть параметризованный конструктор, добавьте конструктор по умолчанию в ваш класс ILS, чтобы iLs a = new iLs(); работал в классе Student.Измените типы данных класса ILS или преобразуйте значения в соответствии с вашими типами данных.Scanner.nextLine вернет string, все ваши one,two,three,four равны double.

0 голосов
/ 05 октября 2018

Вы смотрели на это? Ошибка компилятора: "ожидается ожидаемый класс, интерфейс или перечисление"

Кроме того, в приложении Student вы пытаетесь создать новые iL, но не имеете соответствующей сигнатуры конструктора.Единственный конструктор, объявленный в iLs, принимает 7 параметров, и вы пытаетесь вызвать конструктор по умолчанию (т.е. без параметров).Конструктор по умолчанию предоставляется Java, только если нет других объявленных конструкторов.Как только конструктор объявлен, если вы хотите конструктор по умолчанию, вы должны также объявить его.

0 голосов
/ 05 октября 2018

В дополнение к ответу, данному @ghostCat, код Student включает

iLs a =  new iLs();

, однако в этом классе iLS нет конструктора только с нулевыми параметрами

public iLs(String name, String section, double one, double two, double three,
                                                  double four, double genave){
0 голосов
/ 05 октября 2018

Если предположить, что вышеупомянутое содержимое находится в одном файле, то самая первая проблема заключается в том, что существует оператор импорта после определения первого класса.

Операторы импорта могут появляться только один раз, в начале класса.

...