Ajuda com exercício Applet

2 respostas
BtAquino

Boa Tarde,

Estou lendo o livro Java como Programar, e no capitulo 3 se deparamos com Applets ...

Estou fazendo uns exercícios para ir praticando, e venho solicitar ajuda.

Segue o código.

import javax.swing.*;
import java.awt.Graphics;

public class SomaEDiminui extends JApplet{
	
	String numDig1;
	String numDig2;
	String opDig;
	
	double num1;
	double num2;
	double resultado;
	
	int opcao = 1;
	
	public void init()
	{
		opDig =
		JOptionPane.showInputDialog("Informe 1 - Somar/2 - Diminuir e 0 - Sair");
		
		opcao = Integer.parseInt(opDig);
		
		while(opcao > 0)
		{
			numDig1 =
			JOptionPane.showInputDialog("Informe o primeiro Número:");
			
			num1 = Double.parseDouble(numDig1);
			
			numDig2 =
			JOptionPane.showInputDialog("Informe o segundo Número:");
			
			num2 = Double.parseDouble(numDig2);
		}
	}
	
	public void paint(Graphics g)
	{
		super.paint(g);
		if(opcao == 1)
		{
			resultado = num1 + num2;	
		}
		if (opcao == 2)
		{
			resultado = num1 - num2;
		}
		
		g.drawRect(25,15,270,20);
		g.drawString("Resultado: " + resultado, 25,25);
		
	}
}

Um Exercício bem simples, que pede dois números e executa adição ou subtração.
Porém do jeito que está ai, ele pergunta qual a opção de calculo, pede para usuário informar dois números, e não sai... Fica em um loop eterno pergunta numero .

Estou começando e não quero pular esse exercício.

Grato.

2 Respostas

asousaj

Alterei init() e funcionou(testei JavaApplication e não Applet), pode melhorar viu … mas melhor deixar pra você
[color=red]Não esquece de tratar quando o cliente clica no botão “cancelar” ou quando digitar um valor invalido tipo ‘a’.
[/color]

public void init() {

		while (opcao > 0) {
			opDig = JOptionPane
					.showInputDialog("Informe 1 - Somar/2 - Diminuir e 0 - Sair");

			opcao = Integer.parseInt(opDig);
			if (opcao == 0) {
				return; // se for 'zero' sai do loop
			}

			numDig1 = JOptionPane.showInputDialog("Informe o primeiro Número:");
			num1 = Double.parseDouble(numDig1);
			numDig2 = JOptionPane.showInputDialog("Informe o segundo Número:");
			num2 = Double.parseDouble(numDig2);
			if (opcao == 1) {
				JOptionPane.showMessageDialog(null, "Resultado: "
						+ (num1 + num2));   //soma
			} else if (opcao == 2) {
				JOptionPane.showMessageDialog(null, "Resultado: "
						+ (num1 - num2));   //subtrai
			}
		}
	}

Adriano Sousa

BtAquino

Ok

Obrigado, funcionou …

Vou aumentando o Sistema, por enquanto é começo, mas pretendo melhorar.

Criado 11 de novembro de 2011
Ultima resposta 11 de nov. de 2011
Respostas 2
Participantes 2