Ошибка: illegal start of expression

193
10 августа 2018, 23:00

Возникает ошибка при создании: (9:9)illegal start of expression.

Только учусь, первую неделю. В чем моя ошибка?

имеется код:

package com.company;
import java.util.Scanner;
 public class Main {
public static void main(String[] args) {
    // write your code here
    Scanner scc = new Scanner(System.in);
    public static void main(String[] args) {
        int firstNum = whatnumber();
        int secodNum = whatnumber();
        char znak = Goperation();
        int resault = resaultX();
        System.out.print(resault);

    }
    public static int whatnumber() {
        System.out.print("Введите число: ");
        int num;
        num = scc.nextInt();
    }
    public static void Goperation() {
        System.out.print("Введите знак: ");
        char znakL;
        znakL = scc.hasNext();
    }
    public static void resaultX(int firstNum, int secondNum, char operation){
        int resault;
        switch (operation) {
            case "+":
                resault = firstNum + secondNum;
                break;
            case "-":
                resault = firstNum - secondNum;
                break;
            case "/":
                resault = firstNum / secondNum;
                break;
            case "*":
                resault = firstNum * secondNum;
                break;
        }
    }
}
Answer 1
  1. Как и сказали main внутри main - нельзя писать метод внутри метода
  2. Не понятно вообще это вам нужно(вторая строка с main) - просто удалите
  3. Даже учитывая что вы неправильно написали второй раз main - тут вы еще не закрыли скобку, всегда открывающиеся скобки нужно закрывать.
  4. В методе Goperation() - scc.hasNext() - возращает boolean - правда/ не правда, т.е. вы не записываете чар, а проверяете наличие. "Существует и метод hasNext(), проверяющий остались ли в потоке ввода какие-то символы." http://kostin.ws/java/java-input-stream.html

    1. Если вы используете char - то нужно указывать '', вместо "" - они используются для String.
Answer 2
   package My.Package;
import java.util.Scanner;
public class Main {
    Scanner scc = new Scanner(System.in);
    public static void main(String[] args) {
        int firstNum = whatnumber();
        int secodNum = whatnumber();
        String znak = Goperation();
        int resault = resaultX(firstNum,secodNum,znak);
        System.out.print(resault);

    }
    public static int whatnumber() {
        Scanner scc = new Scanner(System.in);
        System.out.print("Введите число: ");
        int num;
        num = scc.nextInt();
        return  num;
    }
    public static String Goperation() {
        Scanner scc = new Scanner(System.in);
        System.out.print("Введите знак: ");
        String znakL;
        znakL = scc.nextLine();
        return  znakL;
    }
    public static int resaultX(int firstNum, int secondNum, String operation){
        int resault;
        switch (operation) {
            case "+":
                resault = firstNum + secondNum;
                break;
            case "-":
                resault = firstNum - secondNum;
                break;
            case "/":
                resault = firstNum / secondNum;
                break;
            case "*":
                resault = firstNum * secondNum;
                break;
            default: resault = 0;
        }
        return resault;
    }
}
Answer 3

(9:9)illegal start of expression. - говорит что это ошибка компиляции. Структура программы на Java имеет определенный синтаксис. Этот синтаксис определяет правила использования элементов языка в вашей программе.

Изначально вас наверно учили, как создавать программу на языке Java, но наверно недоучили, потому что вы не только делаете ошибки кодирования, но и неправильно пишете код. Это разные вещи, которые вам нужно понять прежде чем продолжать кодировать на Java.

Java это очень сложный язык, и вы когда-нибудь это поймете посмотрев на описание синтаксиа. Конечно читать сразу JLS будет сложно, поэтому новичкам рекомендуют начинить с пониманием базовых концепций. Потом уже переходить к кодированию.

READ ALSO
Ошибка в HibernateUtil.java

Ошибка в HibernateUtil.java

Ошибка Exception in thread "JavaFX Application Thread" javalang

245
Java SOAP сгенерировать классы плагином cxf

Java SOAP сгенерировать классы плагином cxf

Хочу сгенерировать джава-классы по WSDL-описанию SOAP-сервисаЭто WSDL-описание дается в руководстве программиста и недоступно по ссылке ?wsdl

283
Проблема с Scanner

Проблема с Scanner

Такая проблема, хочу, чтобы при нажатии клавиши объект "gena" перемещался в следующую клеткуПосле создания переменной типа int со сканнером Scanner...

210