[b]Erro de iniciante ou um erro sem explicação?[/b]

3 respostas
B

Sou novo aqui no portal java, mais já participava indiretamente a um tempinho, achei muito bom....

Estou iniciando em java agora, comprei o livro do Deitel seguindo as indicações no portal, mais tem um problema que está me dando dor de cabeça!! o exercicio pede para listar o maior e o menor numero em uma sequencia de 5 numeros digitados por usuarios e o código que eu fiz é o seguinte:

// Exercicio 2.26
import javax.swing.JOptionPane;
public class exercicio2_26
{

       public static void main (String args[])
       {

       String num1, num2, num3, num4, num5;
       int numero1, numero2, numero3, numero4, numero5, maior, menor;

       maior = '0';
       menor = '0';
       num1 = JOptionPane.showInputDialog("Digite o primeiro numero inteiro: ");
       num2 = JOptionPane.showInputDialog("Digite o segundo numero inteiro: ");
       num3 = JOptionPane.showInputDialog("Digite o terceiro numero inteiro: ");
       num4 = JOptionPane.showInputDialog("Digite o quarto numero inteiro: ");
       num5 = JOptionPane.showInputDialog("Digite o quinto numero inteiro: ");

	numero1 = Integer.parseInt(num1);
	numero2 = Integer.parseInt(num2);
	numero3 = Integer.parseInt(num3);
	numero4 = Integer.parseInt(num4);
	numero5 = Integer.parseInt(num5);

	if (maior < numero1)
   	     maior = numero1;
	if (maior < numero2)
	     maior = numero2;
	if (maior < numero3)
	     maior = numero3;
	if (maior < numero4)
	     maior = numero4;
	if (maior < numero5)
	     maior = numero5;
	JOptionPane.showMessageDialog(null,
	"O maior numero dos digitados foi o: "+maior, "Maior", JOptionPane.INFORMATION_MESSAGE);

	if (menor > numero1)
	     menor = numero1;
	if (menor > numero2)
	     menor = numero2;
	if (menor > numero3)
	     menor = numero3;
	if (menor > numero4)
	     menor = numero4;
	if (menor > numero5)
	     menor = numero5;
	JOptionPane.showMessageDialog(null,
	"O menor numero dos digitados foi o: "+menor, "Menor", JOptionPane.INFORMATION_MESSAGE);

	System.exit(0);

	}
}

o problema é que quando eu digito 5 numeros iguais, por exemplo: "3,3,3,3,3" ele me fala que o maior numero digitado é 48!! sempre que digito 5 numeros iguais quaisquer q sejam eles o ele me da a resposta de 48, alguem tem uma resposta para isso????

Falow

----
[color="red"]Editado por DanielBadawi para conter as tags BBCode.
Sempre que postar códigos, use as tags BBCode.[/color]

3 Respostas

D

aee Bolaxa! Bem vindo ao PJ! :viva:

entao…
encontrei o seu erro…

a variavel maior e menor vc declarou como int.

só q qdo vc qdo vc ta inicializando a variavel, vc ta colocando assim:

desse jeito está errado. pois vc está passando valores de char ao invéz de int e aí nao da erro, pq o char está mandando o valor referente a tabela ASCII desse caracter. e no caso, é 48.

experimente fazer assim (tirar o 0 das aspas simples):

maior = 0;
menor = 0;

flw!
abraços!

B

hehe, iniciante comete cada erro rsssss,

Valeu cara, era isso mesmo!!!
Mais, depois que eu tirei as aspas, toda vez ele está falando que o menor numero digitado é 0, sendo q eu neim digito 0…

por que será???

Abraços

D

é pq vc setou tanto a variavel menor qto a maior como 0.
aí nos testes de verificação, o 0 continua sendo sempre o menor…

precisa refazer essa lógica de verificação do maior e menor… hehehe

qualquer dúvida, posta aí.

flw!
abraços!

Criado 15 de outubro de 2004
Ultima resposta 15 de out. de 2004
Respostas 3
Participantes 2