Dúvidas de um inicante no JAVA

3 respostas Resolvido
programaçãojava
S

Eae galera tudo bem ?
Como disse no titulo sou totalmente iniciante no Java, e sou novo aqui no GUJ também!
Pra iniciar no Java estou acompanhando aquela apostila grátis da Caelum que me pareceu muito boa ! Mas durante os estudos tive um problema, ao compilar o código abaixo (retirado da apostila):

int idade = 15;

while (idade < 18){

System.out.println(idade);

idade = idade +1;

}
class Main{

public static void main(String[] args){

int idade = 15;

while (idade < 18){

System.out.println(idade);

idade = idade +1;

}

}

}

Obtive estes erros :

TesteIdade.java:1: error: class, interface, or enum expected

int idade = 15;

^

TesteIdade.java:2: error: class, interface, or enum expected

while (idade < 18){

^

TesteIdade.java:4: error: class, interface, or enum expected

idade = idade +1;

^

TesteIdade.java:5: error: class, interface, or enum expected

}

^

4 errors

Depois de algumas pesquisas eu vi alguns casos parecidos onde o problema eram chaves entre a classe e as declarações (Não entendi muito bem). Mesmo retirando as chaves que falaram, os erros continuaram até que executei só a partir da criação da classe:

class Main{

public static void main(String[] args){

int idade = 15;

while (idade < 18){

System.out.println(idade);

idade = idade +1;

}

}

}

Executando só isso o código funciona como deveria funcionar, por fim minha dúvida é : Deveria funcionar da primeira forma ? Se sim, porque não funcionou ? E se sim, qual a importância da primeira parte se só a segunda já funciona ?
Desculpem se a dúvida foi boba guys, mas não fiquei totalmente satisfeito com as explicações que encontrei.

3 Respostas

darlan_machado
Solucao aceita

Bem vindo ao guj.
Quando postar código, seleciona o mesmo e clica no botão </> acima do editor, isso fará com que o código fique destacado e mais fácil de ler.
Bom, o que ocorre é que você copiou ipsis literis o que está na apostila. A classe deve ser, apenas:

class Main{
    public static void main(String[] args){
        int idade = 15;
        while (idade < 18){
            System.out.println(idade);
            idade = idade +1;
        }
    }
}

Sem nada antes da declaração “class Main”

Entendeu?

S

Obrigado pela dica sobre o código e pela resposta @darlan_machado !
Nesse caso acho que foi mais um erro de interpretação de minha parte, é que a forma com que eles colocaram na apostila parece estar conectado, dá uma olhada:

image

Mas agora eu entendi ! Muito Obrigado!

darlan_machado

Imagina.
Sobre a maneira como está na apostila, creio que é um feedback legal para o pessoal da caelum.

Criado 29 de maio de 2019
Ultima resposta 29 de mai. de 2019
Respostas 3
Participantes 2