Ajuda em applet

1 resposta
S

ola, fiz o seguinte exercicio:
Escreva um metodo q retorna o menor de 3 numeros em ponto flutuante. utilize o metodo Math.min p/ implementar o metodo q vc criou. Incorpore o metodo em um applet q le tres valores do usuario e determina o menor valor. exiba o resultado.

consegui fazer o applet e o metodo mas so exibe o menor dos 3 numeros apenas na primeira vez q é executado o applet. gostaria q apos ler a primeira vez os numeros e exibisse o resultado continuasse a ler mais numeros exibindo seu resultado.

ai vai o codigo do exercicio:

public class MinimoTresValores extends JApplet implements ActionListener {

	private double n1, n2, n3;
	private JTextField f1, f2, f3;
	private JLabel saida;
	private JButton btn;

	public void init() {
		n1 = n2 = n3 = 0;
		Container container = getContentPane();
		container.setLayout(new FlowLayout());
		f1 = new JTextField(10);
		f2 = new JTextField(10);
		f3 = new JTextField(10);
		f1.addActionListener(this);
		f2.addActionListener(this);
		f3.addActionListener(this);
		container.add(f1);
		container.add(f2);
		container.add(f3);
		saida = new JLabel();
		btn = new JButton("Achar Menor");
		btn.addActionListener(this);
		container.add(btn);
		container.add(saida);

	}

	//metodo q acha o menor dos 3 numeros.
	private void achaMenor() {
		double menor = Math.min(n1, Math.min(n2, n3));
		String s = "" + menor;
		saida.setText(s);
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == f1) {
			n1 = Double.parseDouble(f1.getText());
		} else if (e.getSource() == f2) {
			n2 = Double.parseDouble(f2.getText());
		} else if (e.getSource() == f3) {
			n3 = Double.parseDouble(f3.getText());
		} else if (e.getSource() == btn) {
			achaMenor();
		}
	}

}

se alguem tiver uma ideia eu agradeço :grin: .

1 Resposta

I
É só mudar as seguintes funções:
//metodo q acha o menor dos 3 numeros. 
   private void achaMenor() { 
      double menor = Math.min(n1, Math.min(n2, n3)); 
      String s = "" + menor; 
      saida.setText(s); 
   } 

   public void actionPerformed(ActionEvent e) { 
      if (e.getSource() == f1) { 
         n1 = Double.parseDouble(f1.getText()); 
      } else if (e.getSource() == f2) { 
         n2 = Double.parseDouble(f2.getText()); 
      } else if (e.getSource() == f3) { 
         n3 = Double.parseDouble(f3.getText()); 
      } else if (e.getSource() == btn) { 
         achaMenor(); 
      } 
   }
para as seguintes:
//metodo q acha o menor dos 3 numeros. 
	   private void achaMenor() 
	   {
	      try
		  {
	      	n1 = Double.parseDouble(f1.getText()); 
	        n2 = Double.parseDouble(f2.getText()); 
	        n3 = Double.parseDouble(f3.getText());
		  }
	      catch (NumberFormatException e){}
	      double menor = Math.min(n1, Math.min(n2, n3));
	      String s = "" + menor; 
	      saida.setText(s); 
	   } 

	   public void actionPerformed(ActionEvent e) { 
	      if (e.getSource() == btn) { 
	         achaMenor(); 
	      } 
	   }

Espero ter ajudado!!!!

Criado 2 de junho de 2005
Ultima resposta 3 de jun. de 2005
Respostas 1
Participantes 2