Caros amigos,
Estou estudando Java através do livro dos DEITEL ed.4. To seguindo passo a passo os exercicios, o que implica dizer que só devem ser resolvidos através do que foi visto pelos capitulos respectivos. O que implica dizer que o BUG que irei descrever a baixo dever ser corrigtido somente com a estrutura if e os operadores.
OK! O bug está no seguinte código:
import javax.swing.*;
import java.awt.*;
public class E3XE311 extends JApplet{
String resultM,resultMM,resultm,resultmm;
public void init(){
int a,b,c,d,e,a1,b1,c1,d1,e1,maior,maior1,menor1,menor;
String aval,bval,cval,dval,eval;
aval = JOptionPane.showInputDialog("Digite um numero");
bval = JOptionPane.showInputDialog("Digite um numero");
cval = JOptionPane.showInputDialog("Digite um numero");
dval = JOptionPane.showInputDialog("Digite um numero");
eval = JOptionPane.showInputDialog("Digite um numero");
a=Integer.parseInt(aval);
b=Integer.parseInt(bval);
c=Integer.parseInt(cval);
d=Integer.parseInt(dval);
e=Integer.parseInt(eval);
resultM="";
maior=a;
if (a>=b)
maior=a;
if (b>=a)
maior=b;
if (c>=b)
maior=c;
if (d>=c)
maior=d;
if (e>=d)
maior=e;
resultM=resultM+maior;
//menor
resultm="";
menor=a;
if (a<=b)
menor=a;
if (b<=a)
menor=b;
if (c<=b)
menor=c;
if (d<=c)
menor=d;
if (e<=d)
menor=e;
resultm=resultm+menor;
//
resultmm="";
menor1=maior;
menor1=menor1-menor;
if (a<maior)
menor1=a;
if (b<a)
menor1=b;
if (c<b)
menor1=b;
if (d<c)
menor1=d;
if (e<d)
menor1=e;
if (e<menor)
menor1=a;
resultmm=resultmm+menor1;
}
public void paint (Graphics g){
super.paint(g);
g.drawString ("O maior é "+resultM,25,40);
g.drawString ("O menor é "+resultm+" e "+resultmm,25,55);
}
}
ATT: Este código deveria determinar o maior e o menor valor entre as variaveis fornecidas pelo usuario, no entanto o que percebo é que dependendo da ordem que estas são dispostas pelo usuario temdem a não seguir resultados corretos ou pelo menos plausiveis ao que sugere o comando do exercicio.
Exemplo: se o usuario digitar :1,2,3,4,5 na respectiva ordem citada o programa acusa legal o maior e o menor, no entanto se disposto: 1,5,4,2,3. Ele já gera um resultado inesperado.
Desde já muito grato,
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - AnjoSupremo[/color][/size] :joia:
