Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

O Programa inicial não roda

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Estou fazendo o curso pelo IntelliJ. E o programa inicial não rodou:

""C:\Program Files\Java\jdk-18.0.2\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:54578,suspend=y,server=n -javaagent:C:\Users\betos\AppData\Local\JetBrains\IdeaIC2022.2\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\lib\idea_rt.jar" Fluxo Connected to the target VM, address: '127.0.0.1:54578', transport: 'socket' Error: Could not find or load main class Fluxo Caused by: java.lang.ClassNotFoundException: Fluxo Disconnected from the target VM, address: '127.0.0.1:54578', transport: 'socket'"

tentei uma segunda vez:

"C:\Program Files\Java\jdk-18.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\lib\idea_rt.jar=54640:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 Fluxo Error: Could not find or load main class Fluxo Caused by: java.lang.ClassNotFoundException: Fluxo

Process finished with exit code 1

O que aconteceu?

4 respostas

Olá Carlos, tudo bem?

Você adicionou um método main no seu projeto?

Não se esqueça que em Java o método main é o entrypoint do seu projeto, sendo assim, é onde o programa "começa"

O Vitor Chaves está correto, no erro é possível observar que seu projeto não possui um main.

Error: Could not find or load main class

Está bem, ok, podem me dizer como fa\zer isso, colocar o main? SEi que o Paulo já explicou, mas poderiam me explicar também? Não sei se compreendi bem...

solução!

Carlos, o método main determina o ponto de início de execução da aplicação. Eu não sei como está essa sua classe fluxo inteira, mas observa-se que existe um método chamado metodo2 que é ESTÁTICO e PRIVADO dentro dela. Como seu método é privado, vc não pode acessá-lo de fora, somente dentro da sua classe vc poderá acessá-lo. Uma forma de executar esse código é chamar seu método2 dentro de um MAIN na sua classe Fluxo:

public class Fluxo {

    public static void main(String[] args) {
        metodo2();
    }

    private static void metodo2() {
        System.out.println("Ini do metodo2");

        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
        System.out.println("Fim do metodo2");
    }

}

Outra forma, seria tornar seu método PUBLIC, e mudá-lo de STATIC para VOID, e chamá-lo em uma outra classe de execução que tem um método Main:

CLASSE FLUXO:

public class Fluxo {

    public void metodo2() {
        System.out.println("Ini do metodo2");

        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
        System.out.println("Fim do metodo2");
    }

}

CLASSE TESTE DE EXECUÇÃO:

public class TesteFluxo {

    public static void main(String[] args) {
        Fluxo fluxo = new Fluxo();

        fluxo.metodo2();
    }

}

Para finalizar, lembre-se que o método estático é um método da classe, podendo ser acessado sem depender de nenhuma variável de instância, eles possuem interação com a classe como um todo, diferente dos métodos que não são estáticos, que são associados a uma instância da classe específica.

Abraços, espero ter ajudado você.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software