Programa maior numero - erros

27 respostas
A

Alguem poderia me dar uma dica de onde está o erro?
To apanhando para achar.

import java.util.Scanner;

public class maior numero

{

public static void main (String[] args)

{

Scanner entrada = new Scanner(System.in);

int numero1;

int numero2;

int numero3;

int maior numero;

System.out.println(Digite o primeiro numero:);

numero1 = entrada.nextInt();

System.out.println(Digite o segundo numero:);

numero2 = entrada.nextInt();

System.out.println(Digite o terceiro numero:);

numero3 = entrada.nextInt();

if (numero1 > numero2 | numero1 > numero3);

System.out.println(O maior é 1 + maior numero);

if (numero2 > numero1 | numero2 > numero3);

System.out.println(O maior é 2 + maior numero);

if (numero3 > numero1 | numero3 > numero2);

System.out.println(O maior é 3: + maior numero);

}

}

27 Respostas

bruno_savi

if (numero1 > numero2 | numero1 > numero3);

não é uma | são ||

expressões OR = ||
and = &&

von.juliano
public class maior numero

Não podem haver espaços no nome da classe.

E nos faça um favor, utilize as tags CODE.

Flw! :thumbup:

A

Bruno,

Mudei para || mas ainda continua dando erros

bruno_savi

como o von disse o problema ta na classe tbm
mude ela
para MaiorNumero

e renomeio o arquivo tbm

A

Ele informa que a classe maiornumero não foi declarada na linha 2

bruno_savi

vc renomeou o arquivo tbm para maionumero?

A

ja mudei, mas ainda esta dando esse erro:

class maiornumero is public, should be declared in a file named maiornumero.java

A

ja renomeei tbm e o erro continua

bruno_savi

cola tua classe de novo

A
import java.util.Scanner;

public class maiornumero

{

public static void main (String[] args)

{

Scanner entrada = new Scanner(System.in);

int numero1;

int numero2;

int numero3;

int maiornumero;

System.out.println(Digite o primeiro numero:);

numero1 = entrada.nextInt();

System.out.println(Digite o segundo numero:);

numero2 = entrada.nextInt();

System.out.println(Digite o terceiro numero:);

numero3 = entrada.nextInt();

if (numero1 > numero2 || numero1 > numero3);

System.out.println(O maior é 1 + maiornumero);

if (numero2 > numero1 || numero2 > numero3);

System.out.println(O maior é 2 + maiornumero);

if (numero3 > numero1 || numero3 > numero2);

System.out.println(O maior é 3: + maiornumero);

}

}
bruno_savi

se vc nao inicializar a variavel maiornumero
ele ja vai dar erro

coloca maiornumero =0;

A

mudei, mas continua, rsrs

T

Qual é a diferença entre “||” e “&&”?

bruno_savi

vc ta usando alguma ide ou o bloco de notas?

A

to usando JCreator

bruno_savi

deve tar armazenando algum cache alguma coisa fecha a ide remove o arquivo compilado…
e tenta compilar de novo…
ou copia o codigo e cria outro arquivo…
pq agora ele nao tem mais erro.

A

veja o que deu agora:

--------------------Configuration: maiornumero2 - JDK version 1.6.0_04  - --------------------

java.lang.NoClassDefFoundError: maiornumero

Caused by: java.lang.ClassNotFoundException: maiornumero

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

Exception in thread main

Process completed.
peerless

Classe não encontrada. Antes de rodar, compile novamente.

A

Então, eu uso o Jcreator, como faço a compilação nele?

dionat4n

Tem diferença? :shock:

bruno_savi

operador OR “||” se uma das expressões forem verdadeira ele entra no if…

a=1
b=2
c=1
exemplo if(a == b || a = c){
entrou

operador and “&&” as duas expressões tem que ser verdadeiras

exemplo if(a == b && a = c){
nao entrou

dionat4n

bruno_savi:
operador OR “||” se uma das expressões forem verdadeira ele entra no if…

a=1
b=2
c=1
exemplo if(a == b || a = c){
entrou

operador and “&&” as duas expressões tem que ser verdadeiras

exemplo if(a == b && a = c){
nao entrou

não pode ter atribuição em testes lógicos. :stuck_out_tongue:

if(a == b && a = c){ }

bruno_savi

ahh faltou um =
mas deu para entender que não era uma atribuição
¬¬

dionat4n

bruno_savi:
ahh faltou um =
mas deu para entender que não era uma atribuição
¬¬

não não, não compila! hehe

bruno_savi
Corrigindo meu codigo acima
operador OR "||" se uma das expressões forem verdadeira ele entra no if...


a=1
b=2
c=1
exemplo if(a == b || a == c){
entrou

operador and "&&" as duas expressões tem que ser verdadeiras

exemplo if(a == b && a == c){
nao entrou

¬¬

dionat4n
bruno_savi:
Corrigindo meu codigo acima
operador OR "||" se uma das expressões forem verdadeira ele entra no if...


a=1
b=2
c=1
exemplo if(a == b || a == c){
entrou

operador and "&&" as duas expressões tem que ser verdadeiras

exemplo if(a == b && a == c){
nao entrou

¬¬

Falta citar que são operadores lógicos, ou seja, se a==b é true então ele nem testa se a == c.
E por questão de segurança a atribuição foi removida do C-like para Java, porque poderia-se fazer:
if (a==b && a=c++) ...
e se a==b é true c não seria incrementado e poderia trazer problemas se o programador não se ligasse nisso.

:)

B

Não era mais fácil guardar o valor do maior número numa variável…?

Criado 16 de junho de 2008
Ultima resposta 16 de jun. de 2008
Respostas 27
Participantes 7