Help Primeiro Programa em Java

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")

	}

}

não seria ali:

[code]
if (x % 2 == 0) {
System.out.println("Par: " + x);
} else {

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

}[/code]

[quote=Deh]não seria ali:

[code]
if (x % 2 == 0) {
System.out.println("Par: " + x);
} else {

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

}[/code]

[/quote]

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 :frowning:

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.

[quote=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.[/quote]

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 ?

[code]
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”);
}
}
}[/code]

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.

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.

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

vlw pessoal!

identação pelase
=P