Исключение в потоке «main» java .lang.Error: Нерешенная проблема компиляции: Program.main - PullRequest
0 голосов
/ 27 мая 2020

Я учусь кодировать java, и это мой первый язык программирования, и у меня проблема с запуском и отладкой,

    public class Program {
        public static void main (String[] args) {
            String firstName, lastName;
            firstName = "David";
            lastName = "Williams";
            System.out.println("My name is " + firstName +" "+lastName);
        }
    }

Я учусь в одиночку и когда Я пишу простую задачу и пытаюсь запустить VScode, говорит мне: Exception in thread "main" java.lang.Error: Unresolved compilation problem: at Program.main(class operazioni {.java:2)

Class operazioni - это заголовок файла. Может кто-нибудь объяснить мне, почему я не могу запускать и отлаживать?

1 Ответ

0 голосов
/ 27 мая 2020

Измените имя файла на Program.java

В Java имя файла java должно всегда совпадать с именем класса publi c.

  1. При написании программы java сначала она сохраняется как файл ". java", при компиляции он формирует байтовый код, который является файлом ".class" как таковой, как если бы мы создали файл нашей программы как и в классе, нам будет комфортно понимать без двусмысленности. Нам разрешено использовать любое имя для имени файла, только если class не publi c. В случае класса publi c мы не можем использовать другое имя файла.

  2. Имя файла должно совпадать с именем класса publi c в этом файл, который является способом сообщить JVM, что это точка входа.

  3. Предположим, когда мы создаем программу, в которой находится более одного класса, и после компиляции java исходного кода файла, он сгенерирует тот же номер файла .class, что и классы, находящиеся в нашей программе. В этом состоянии мы не сможем легко определить, какой класс нужно интерпретировать интерпретатором java и какой класс содержит точку входа для программы.

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