Erro "reached end of file while parsing"

12 respostas
M

Boa tarde!
Bem, esse é o primeiro semestre que estou vendo Java no meu curso. O professor pediu um programa que exibisse os números primos de um valor passado como argumento. Como ja sei pascal, fiz o código no pascal e depois fiz modificações necessárias para o Java, porem nao compila, mostrando o erro:“reached end of file while parsing”. Gostaria de saber que erro é esse e o que deve ser feito no código. É esse aí:

public class Primos{
	
	public static void main (String args[])
	{
		
		int Primo = 1;		
		Integer acumula;
		
		System.out.println("Numeros primos: ");	
		while (Primo < int.valueOf(args[0]))
		{
			if (Primo % 2 != 0)
			{
				Acumula = Acumula + Primo;
				System.out.println(Primo + ", ");
		
			}	
			Primo++;

		{
		System.out.println(Acumula);
	}

}

Agradeço uma resposta urgente, valeu???
Brigadão!

12 Respostas

g4j

poste o erro pra gente…

fiaux

Linha 20, você não fechou o while.

ivo_costa

Tem alguns erros:
Forma correta:

public class Teste{
	
	public static void main (String args[])
	{
		
		int Primo = 1;		
		Integer Acumula = 0;
		
		System.out.println("Numeros primos: ");	
		while (Primo < Integer.valueOf(args[0]))
		{
			if (Primo % 2 != 0)
			{
				Acumula = Acumula + Primo;
				System.out.println(Primo + ", ");
		
			}	
			Primo++;

		}
		System.out.println(Acumula);
	}

Tente usar nomes de variáveis com letra inicial minúscula troque Primo pra primo.
Boa sorte com os seus estudos.
flw!

T

Assim como em Pascal (Delphi), de modo geral cada BEGIN deve casar com um END (exceto em alguns casos), em C++, C, Java e as outras linguagens com chavinhas, um “{” deve casar com um “}”.
Conte as chavinhas…

M

Pessoal, fiz as alterações recomendadas, cheguei até a substituir pelo código do ivo costa, mas nao deu certo. Apareceu agora o seguinte erro:"C:\Arquivos de programas\java\jdk1.6.0_07\bin>javac Primos.java
Primos.java:1: class Teste is public, should be declared in a file named Teste.j
ava
public class Teste{
^
1 error"

T

Como é que está seu inglês? A mensagem de erro lhe diz exatamente o que deve ser feito.

Ou seja, “a classe Teste é pública e deve estar declarada em um arquivo chamado Teste.java”.

M

Gente, Eficiencia é o nome de vcs!!!
Valeu, problema resolvido!!!

Um dia ainda serei igual a vcs!!!KKKKKKKKKKK

Valeu e até mais!!!

J

Bom dia,

Estou aqui a inciar um projecto para a faculdade e isto já me está a dar problemas logo em cenas básicas e gostava que me ajudassem para eu nao perder tanto tempo.

O erro… “reached end of file while parsing” e o código é:

package projectobn;

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        boolean flag;

        do
        {
            //perguntar ao utilizador que tipo de jogo pretende
            Scanner leTeclado = new Scanner(System.in);

                //Menu para escolher o modo de jogo
                System.out.println("====================");
                System.out.println("====Menu Inicial====");
                System.out.println("====================");
                System.out.println();
                System.out.println("1 - Modo Clássico");
                System.out.println("2 - Modo Avançado");
                System.out.println("3 - Regras");
                System.out.println("4 - Creditos");
                System.out.println("5 - Sair");
                System.out.println();
                System.out.println("Escolha uma opção: ");

            //criar a variavel que recebe a opção do utilizador
            int modoJogo = leTeclado.nextInt();

            //consoante a opção escolhida criar um objecto dos diferentes modos de jogo ou ir para outras opções
            if(modoJogo==1)
            {
                flag=true;
                Jogo jogoClassico = new Classica();
                jogoClassico.iniciarJogo(modoJogo);
            }
            else if(modoJogo==2)
            {
                flag=true;
                Jogo jogoAvancado = new Avancada();
                jogoAvancado.iniciarJogo(modoJogo);
            }
            else if(modoJogo==3)
            {
                flag=true;
                regras();
            }
            else if(modoJogo==4)
            {
                flag=true;
                creditos();
            }
            else if(modoJogo==5)
            {
                flag=true;
                System.exit(0);
            }
            else
            {
                flag=false;
                System.out.println("Opção Inválida. Introduza a opção correcta!");
            }
        }
        while(flag==false)

        public static void regras()
        {
            System.out.println("Bla bla bla regras!");
        }

        public static void creditos()
        {
            System.out.println("Bla bla bla creditos!");
        }

    }

}

Obrigado
NM

Thiago_Luis

Fala cara, blza?

O seu while deve ter ; no final.
}   
        while(flag==false);   
  
        public static void regras()
Sempre que for usar do while, tente não esquecer de colocar o ; no fim do comando while.

Abraço

pmlm

E fechar a seguir o método main…

} while(flag==false); } public static void regras()

Thiago_Luis

pmlm:
E fechar a seguir o método main…

} while(flag==false); } public static void regras()

BOA,

Nem tinha percebido :smiley:

J

Que falta de atenção…

Nem sabem o tempo que eu tive a olhar para isto a tentar perceber onde estava o erro… é que como o meu portatil nao dá para pôr uma resolução muito alta… vejo sempre pouco código no ecrã… e depois baralha um bocado para ver as chavetas… mas pronto… tb foi o cansaço.

Vcs realmente são espectaculares… até acabar o projecto acho que ainda vou precisar muito da vossa ajuda. Vcs são espectaculares.

Obrigadão
NM

Criado 3 de setembro de 2008
Ultima resposta 23 de mai. de 2009
Respostas 12
Participantes 8