Вставить выражение оператора присваивания, чтобы завершить выражение в ошибке затмения - PullRequest
0 голосов
/ 28 февраля 2020

В строке:

System.out.println("Welcome to John Doe's shipping calculator!");

Я получаю

"Синтаксическая ошибка, вставьте" Выражение AssignmentOperator "для завершения выражения" в затмении

class calc {    
        Shipment s = new Shipment();
        Scanner input = new Scanner(System.in);
        System.out.println("Welcome to John Doe's shipping calculator!");
        System.out.println("Enter first package dimensions" );
        Package package1 = new Package();
        System.out.println("Enter length");package1.inputLength(input.nextDouble());
        System.out.println("Enter width");package1.inputWidth(input.nextDouble());
        System.out.println("Enter height");package1.inputHeight(input.nextDouble());
        Package package2 = new Package();
        System.out.println("Enter second package dimensions" );
        System.out.println("Enter length");package2.inputLength(input.nextDouble());
        System.out.println("Enter width");package2.inputWidth(input.nextDouble());
        System.out.println("Enter height");package2.inputHeight(input.nextDouble());
        System.out.print("First package dimensions:" ); package1.displayDimensions();
        System.out.print("Second package dimensions:"); package2.displayDimensions();
        s.cost1 = s.calculateCost(package1);
        s.cost2 = s.calculateCost(package2);
        System.out.println("Package 1 will cost "+  Math.round(s.cost1 * 100.0) /100.0 +  " to ship");
        System.out.println("Package 2 will cost "+ Math.round(s.cost2 * 100.0) /100.0 + " to ship");
        s.display();            
}

Почему?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Вы не можете вводить какие-либо команды вне метода. Единственное, что может быть за пределами метода - это поля. Если вы просто хотите запустить это, используйте метод main, который создается как public static void main(String[] args). Основной метод - это всегда метод, который вызывается для запуска вашей программы. Еще одна небольшая вещь - ваш класс должен быть заглавным, а каждая первая буква слова в вашем классе - заглавной. Итак, ваш calc класс будет выглядеть так:

class Calc {
    public static void main(String[] args) {
            Shipment s = new Shipment();
            Scanner input = new Scanner(System.in);
            System.out.println("Welcome to John Doe's shipping calculator!");
            System.out.println("Enter first package dimensions" );
            Package package1 = new Package();
            System.out.println("Enter length");package1.inputLength(input.nextDouble());
            System.out.println("Enter width");package1.inputWidth(input.nextDouble());
            System.out.println("Enter height");package1.inputHeight(input.nextDouble());
            Package package2 = new Package();
            System.out.println("Enter second package dimensions" );
            System.out.println("Enter length");package2.inputLength(input.nextDouble());
            System.out.println("Enter width");package2.inputWidth(input.nextDouble());
            System.out.println("Enter height");package2.inputHeight(input.nextDouble());
            System.out.print("First package dimensions:" ); package1.displayDimensions();
            System.out.print("Second package dimensions:"); package2.displayDimensions();
            s.cost1 = s.calculateCost(package1);
            s.cost2 = s.calculateCost(package2);
            System.out.println("Package 1 will cost "+  Math.round(s.cost1 * 100.0) /100.0 +  " to ship");
            System.out.println("Package 2 will cost "+ Math.round(s.cost2 * 100.0) /100.0 + " to ship");
            s.display();
    }
}
0 голосов
/ 28 февраля 2020

Вы не можете напечатать строку (или вызвать метод) непосредственно в своем классе, попробуйте поместить ее в метод.

class calc{
    public void myMethod(){
        Shipment s = new Shipment();
        Scanner input = new Scanner(System.in);
        System.out.println("Welcome to John Doe's shipping calculator!");
        System.out.println("Enter first package dimensions" );
        Package package1 = new Package();
        //REST OF CODE
    }
}

Затем вызовите этот метод там, где вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...