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.
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.