Por que não funciona?

Se for exatamente o mesmo erro então você está fazendo algo errado. O primeiro erro acusa o If maiúsculo, portanto não deveria acusar o mesmo erro se você já resolveu.

erro atual:

run:
Digite o primeiro numero:20
Digite o primeiro numero:6
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: If
	at Comparacao.main(Comparacao.java:17)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)

[quote=rafael.cs]erro atual:

run: Digite o primeiro numero:20 Digite o primeiro numero:6 Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: If at Comparacao.main(Comparacao.java:17) Java Result: 1 CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos) [/quote]

Está usando alguma IDE? já tentou fazer um clean ou algo do tipo ?

Uso o netbeans…como eu faço um “clean”?

Se eu não me engano ele tem alguma opção do tipo “Limpar e Construir”.

Não sei direito, não usei muito o NetBeans

testa em linha de comando :). Em linha de comando está rodando normal, deve ser algo com sua IDE :

Só uma duvida, essa classe foi renomeada ? por que o erro acusa o nome Comparacao;

eu dei um “limpar e construir projeto” e surgiu o erro:

Created dir: C:\Deitel\Comparacao\build
Updating property file: C:\Deitel\Comparacao\build\built-jar.properties
Created dir: C:\Deitel\Comparacao\build\classes
Created dir: C:\Deitel\Comparacao\build\empty
Created dir: C:\Deitel\Comparacao\build\generated-sources\ap-source-output
Compiling 2 source files to C:\Deitel\Comparacao\build\classes
C:\Deitel\Comparacao\src\Comparacao.java:17: error: ';' expected
             If (number1 > number2)
1 error
C:\Deitel\Comparacao\nbproject\build-impl.xml:915: The following error occurred while executing this line:
C:\Deitel\Comparacao\nbproject\build-impl.xml:268: Compile failed; see the compiler error output for details.
FALHA NA CONSTRUÇÃO (tempo total: 2 segundos)

Mas na linha 17 não tem o ponto e vírgula…

o “expected” é justamente porque ele está esperando um ponto e vírgula, mas não tem nada lá.

Quer postar seu código novamente? Tem certeza que está correto ?

Note que ele está acusando erro no arquivo Comparacao.java, e lá ainda tem um if maiúsculo.
Você provavelmente está corrigindo o erro do arquivo Comparsion.java.

Você não deveria ter excluído o outro arquivo do seu projeto?

Outra coisa, se a idéia era dar o nome em inglês, o termo é comparison, não comparsion.

Agora consegui com este código:

import java.util.Scanner;
        
     public class Comparacao
     {
         public static void main ( String[] args){
             Scanner input = new Scanner (System.in);
                     
             int number1;
             int number2;
             
             System.out.print("Digite o primeiro numero:");
             number1 = input.nextInt();
             
             System.out.print("Digite o primeiro numero:");
             number2 = input.nextInt();
             
             if (number1 > number2);
                     System.out.printf ("%d > %d", number1, number2);
             
         }
                 
                 
     }

Obrigado pessoal

Disponha, mas você reparou que esse if aí é uma pegadinha, né ?

Sim, mas eu já havia feito o ajuste que você me falou (de colocar ele em minúsculo). O problema é que quando eu coloque a condição dele entre chaves (conforme a outra usuária pediu), o IF voltou a ficar errado, nessa parte deu confusão. Mas enfim, consegui executá-lo.

Obrigado pela paciência meu caro. :wink:

Antes que você tenha problemas. A maneira correta de ler do teclado é usando nextLine().

Ou seja, ao invés disso:

number1 = input.nextInt();

Use isso:

number1 = Integer.parseInt(input.nextLine());

[quote=rafael.cs]Sim, mas eu já havia feito o ajuste que você me falou (de colocar ele em minúsculo). O problema é que quando eu coloque a condição dele entre chaves (conforme a outra usuária pediu), o IF voltou a ficar errado, nessa parte deu confusão. Mas enfim, consegui executá-lo.

Obrigado pela paciência meu caro. ;)[/quote]
Não é isso. O que eu quis dizer é que independente da condição nesse if, a mensagem abaixo será impressa. Pode colocar valores maiores pra um e pra outro e ver o que acontece.

[quote=ViniGodoy]Antes que você tenha problemas. A maneira correta de ler do teclado é usando nextLine().

Ou seja, ao invés disso:

number1 = input.nextInt();

Use isso:

number1 = Integer.parseInt(input.nextLine());

Olá,

Bom…eu estou me baseando pelo livro da Deitel, realmente não sabia desse detalhe.

Obrigado Vini

Este é o codigo que eu testei e funcionou normalmente :

import java.util.Scanner;  
          
     public class Comparsion
     {  
	 
         public static void main ( String[] args){  
             Scanner input = new Scanner (System.in);  
                       
             int number1;  
             int number2;  
               
             System.out.print("Digite o primeiro numero:");  
             number1 = input.nextInt();  
               
             System.out.print("Digite o primeiro numero:");  
             number2 = input.nextInt();  
               
             if (number1 > number2) {
                     System.out.printf ("%d > %d", number1, number2);  
                                  
				}  	
		 
		}
  
    }  

[quote=elizeldepaula]Este é o codigo que eu testei e funcionou normalmente :

[code]
import java.util.Scanner;

 public class Comparsion
 {  
 
     public static void main ( String[] args){  
         Scanner input = new Scanner (System.in);  
                   
         int number1;  
         int number2;  
           
         System.out.print("Digite o primeiro numero:");  
         number1 = input.nextInt();  
           
         System.out.print("Digite o primeiro numero:");  
         number2 = input.nextInt();  
           
         if (number1 > number2) {
                 System.out.printf ("%d > %d", number1, number2);  
                              
			}  	
	 
	}

}  

[/code][/quote]
Seu if está diferente do do rafael.

eu alterei o if pra nao dar erro.