Help Primeiro Programa em Java

9 respostas
guhhh

opa galera…bem to aprendendo java agora na faculdade,o professor solicitou um trabalho bem simples que listasse numero de 1 a 100 e falasse na frente se ele eh par ou impar…bem como nos aprendemos no pascal foi tudo 100% pra mim la,porem entrou no java afinal a 2 aula neh ai ja me perdi…bem queria saber oque esta errado nisso aqui…agradeco a ajuda de todos!Ahh codigo eh bem simples afinal eh o primeiro :frowning:

public class num {

	public static void main(String[] args) {
		
		for (int x=1; x<100; x++ ){
			IF (x % 2 == 0)
			System.out.println (x+"O numero eh par")
			else
			System.out.println (x+"O numero eh impar")

	}

}

9 Respostas

Deh
não seria ali:
if (x % 2 == 0) { 
      System.out.println("Par: " + x);
} else {

      System.out.println("Impar: " + x);
}
guhhh
Deh:
não seria ali:
if (x % 2 == 0) { 
      System.out.println("Par: " + x);
} else {

      System.out.println("Impar: " + x);
}

Tipo mas no caso,quando eu tento rodar o programa ele da erro...fala que esta errado...imagino ue tenha ai algo fora do lugar :(

elomarns

Olá guhhh, seja bem vindo ao GUJ e ao Java!

O código postado por você possui alguns pequenos erros, aos quais eu enumero abaixo:

1- Na declaração da estrutura de repetição for, você diz que ela deve continuar enquanto a variável de iteração, no caso x, for menor do que 100, no entanto, o correto seria fazer a estrutura de repetição ser executada enquanto x fosse menor ou igual a 100, caso contrário só exibirá do número 1 até o número 99.

for (int x=1; i<100; i++ )

2- O if no Java é uma palavra-chave usada para declarar estruturas de seleção, e assim como todas as outras palavras-chaves no Java, deve ser escrita totalmente em minúsculo, enquanto você o escreveu totalmente em maiúsculo.

IF (x mod 2 == 0)

3- O operador de módulo(ou resto) do Java é %, e não o mod, como você usou.

IF (x mod 2 == 0)

4- No Java toda instrução deve terminar com um ponto-e-vírgula(;), o que você não fez nas instruções que informam se o número é par ou ímpar.

System.out.println (x+"O numero eh par")
else
System.out.println (x+"O numero eh impar")

5- Toda chave de abertura({) deve ter uma chave de fechamento(}) correspondente, formando assim um bloco. No seu código, você não fechou a chave que abriu para delimitar o corpo do for.

guhhh

elomarns:
Olá guhhh, seja bem vindo ao GUJ e ao Java!

O código postado por você possui alguns pequenos erros, aos quais eu enumero abaixo:

1- Na declaração da estrutura de repetição for, você diz que ela deve continuar enquanto a variável de iteração, no caso x, for menor do que 100, no entanto, o correto seria fazer a estrutura de repetição ser executada enquanto x fosse menor ou igual a 100, caso contrário só exibirá do número 1 até o número 99.

for (int x=1; i<100; i++ )

2- O if no Java é uma palavra-chave usada para declarar estruturas de seleção, e assim como todas as outras palavras-chaves no Java, deve ser escrita totalmente em minúsculo, enquanto você o escreveu totalmente em maiúsculo.

IF (x mod 2 == 0)

3- O operador de módulo(ou resto) do Java é %, e não o mod, como você usou.

IF (x mod 2 == 0)

4- No Java toda instrução deve terminar com um ponto-e-vírgula(;), o que você não fez nas instruções que informam se o número é par ou ímpar.

System.out.println (x+"O numero eh par")
else
System.out.println (x+"O numero eh impar")

5- Toda chave de abertura({) deve ter uma chave de fechamento(}) correspondente, formando assim um bloco. No seu código, você não fechou a chave que abriu para delimitar o corpo do for.

Agradeço as boas vindas elomarns e pela ajuda!

Mas então…veja como ficou,refiz os erros que você me mostrou e continua dando uma mensagem de erro falando ( X CANNOT BE RESOLVED )…Oque você acha que pode estar errado ? Esqueci de algo ?

Marky.Vasconcelos
public class numero { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 

//for (int x=1; x<=100; x++);{ //não precida desse ponto e virgula depois do for
for (int x=1; x<=100; x++){
if ( x % 2 == 0) 
System.out.println(x+ "Eh Par"); 
else 
System.out.println(x+ "Eh Impar"); 
} 
} 
}
elomarns

Olá novamente, guhhh.

Desta vez, o erro que está ocorrendo é que você coloca um ponto-e-vírgula após a declaração da estrutura de repetição for. Como eu disse antes, toda instrução no Java deve ser finalizada com um pontoe-vírgula, no entanto, a declaração de um for não é considerada uma instrução, sendo assim, não se deve colocar um ponto-e-vírgula após o for. Mas uma vez que você colocou, o Java interpreta que a instrução a ser executada como corpo do for é uma instrução vazia, representada pelo ponto-e-vírgula. Caso não esteja entendendo bem, veja abaixo como o Java interpreta o seu for:

for (int x=1; x<=100; x++) { ; }
Este erro na declaração do for, ocasiona apenas um erro de lógica. O erro que acontece ao tentar compilar o programa acontece porque você tentar usar a variável x, que é a variável de iteração do for, e não pode ser utilizada fora do escopo do for. Ou seja, logo após o fim do for a variável x deixa de existir, no entanto, você volta a utilizá-la em outras instruções, daí o erro que você mencionou.

Zakim

o x é uma variavel local

for (int x=1; x<=100; x++);{

isso faz com que no segundo IF o x nao seja reconhecido

if ( x % 2 == 0)

declare x como uma variavel global ou pelo menos fora do escopo do for.

guhhh

Agradeço ao eleomarns e ao mark…realmente retirando aquele ; resolveu o problema…agradeço também ao zakim tbm!!

vlw pessoal!

mmenezes

identação pelase
=P

Criado 3 de agosto de 2007
Ultima resposta 4 de ago. de 2007
Respostas 9
Participantes 6