Calculadora

3 respostas
M

Alguem me ajuda?! To precisando saber como faço para que a calculadora some, diminua, divida ou multiplique, dependendo do botao que a pessoa apertar. Ja consegui fazer com que ela faça uma dessas coisas mas nao tenho a escolha. Por favor me ajude! Olhem o código até agora. Obrigado!

import javax.swing.*; //importa o pacote swing

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.*;	//importa o pacote de eventos

public class Calc extends JFrame { //inicio classe Calc

private JTextField jtfResultado;	//TextField do resultado

private JButton jb1,				//Botão 1
				jb2,				//Botão 2
				jb3,				//Botão 3
				jb4,				//Botão 4
				jb5,				//Botão 5
				jb6,				//Botão 6
				jb7,				//Botão 7
				jb8,				//Botão 8
				jb9,				//Botão 9
				jb0,				//Botão 0
				jbIgual,			//Botão =
				jbMais,				//Botão +
				jbMenos,			//Botão -
				jbDividido,			//Botão /
				jbMultiplicado;		//Botão *

private JPanel p1,					//Painel onde aparece o resultado
			   p2;					//Painel com os botões

		String numeroS;				//Guarda os numeros que o usuário digita

		int numero1I, numero2I;				//Guarda os numeros que o usuário digita, mas em integer!

public Calc() {					//Inicia o método Calc
	
	numeroS = "";
	
	jb1 = new JButton("1");	//Atribui o valor 1 ao jb1;
	jb2 = new JButton("2");				
	jb3 = new JButton("3");				
	jb4 = new JButton("4");				
	jb5 = new JButton("5");				
	jb6 = new JButton("6");				
	jb7 = new JButton("7");				
	jb8 = new JButton("8");				
	jb9 = new JButton("9");				
	jb0 = new JButton("0");				
	jbIgual = new JButton("=");			
	jbMais = new JButton("+");			
	jbMenos = new JButton("-");			
	jbDividido = new JButton("/");		
	jbMultiplicado = new JButton("*");	
	jtfResultado = new JTextField(10);
	
	p1 = new JPanel(new GridLayout(1,1));
    p2 = new JPanel(new GridLayout(4,5));

	p1.add(jtfResultado);	//Adiciona o jtfResultado no 1º painel
	
	p2.add (jb7);		//Adiciona o botão 1 ao 2º painel
	p2.add (jb8);
	p2.add (jb9);
	p2.add (jbMultiplicado);
	p2.add (jb4);
	p2.add (jb5);
	p2.add (jb6);
	p2.add (jbDividido);
	p2.add (jb1);
	p2.add (jb2);
	p2.add (jb3);
	p2.add (jbMais);
	p2.add (jb0);
	p2.add (jbIgual);
	p2.add (jbMenos);
	
	
	
	getContentPane().add(p1);
	getContentPane().add(p2);
	getContentPane().setLayout(new BorderLayout());
	getContentPane().add("North",p1);
	getContentPane().add("South",p2);
	pack();
	setVisible(true);

// Início de eventos

jb0.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			jtfResultado.setText(numeroS = numeroS + "0");

		}
	});
	
	jb1.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "1");

		}
	});
	
	jb2.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "2");

		}
	});
	
	jb3.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "3");

		}
	});
	
	jb4.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "4");

		}
	});
	
	jb5.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "5");

		}
	});
	
	jb6.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "6");

		}
	});
	
	jb7.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "7");

		}
	});
	
	jb8.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "8");

		}
	});
	
	jb9.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e)
	 	{
			 jtfResultado.setText(numeroS = numeroS + "9");

		}
	});
	
	
	jbMais.addActionListener (new ActionListener(){
		public void actionPerformed (ActionEvent e)
		{
			numero1I = Integer.parseInt(numeroS);
			numeroS = "";
			jtfResultado.setText("0");
		}	
	});
		
	jbMenos.addActionListener (new ActionListener(){
		public void actionPerformed (ActionEvent e)
		{
			numero1I = Integer.parseInt(numeroS);
			numeroS = "";
			jtfResultado.setText("0");
		}	
	});
	
	jbIgual.addActionListener (new ActionListener(){
		public void actionPerformed (ActionEvent e)
		{
			numero2I = Integer.parseInt(numeroS);
			numero2I = numero2I + numero1I;
			numeroS = Integer.toString(numero2I);
			jtfResultado.setText(numeroS);
		
		}	
	});
		
	
//	jtfResultado.addActionListener(new ActionListener(){
//		public void actionPerformed(ActionEvent e)
//	 	{
//			 jtfResultado.setText(jtfResultado.getText());
//
//		}
//	});
	
	
	
	}		//Fecha o método Calc

public static void main(String args[]) {

Calc j = new Calc();

}
}

3 Respostas

coca1na

da uma olhada nesse codigo aki, nao eh muito bom mas talvez tire sua duvida...

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

public class Calc extends JFrame {
	
	JPanel painel1, painel2;
	JTextField resultado;
	JButton botao0, botao1, botao2, botao3, botao4,
	botao5, botao6, botao7, botao8, botao9, botaoc, igual, vezes, mais, menos, dividir, ponto;
	int z = 999, y, i=0;
	int soma, multi, div, sub;
	String k = "";
	
	
	public static void main (String args[]) {
		
		JFrame.setDefaultLookAndFeelDecorated(true);
		Calc c = new Calc();
		
	}
	
Calc() {
	
	resultado = new JTextField(15);
	botaoc = new JButton("C");
	botao0 = new JButton("0");
	botao1 = new JButton("1");
	botao2 = new JButton("2");
	botao3 = new JButton("3");
	botao4 = new JButton("4");
	botao5 = new JButton("5");
	botao6 = new JButton("6");
	botao7 = new JButton("7");
	botao8 = new JButton("8");
	botao9 = new JButton("9");
	ponto = new JButton(".");
	igual = new JButton("=");
	vezes = new JButton("*");
	mais = new JButton("+");
	menos = new JButton("-");
	dividir = new JButton("/");
	
	JPanel painel1 = new JPanel();
	getContentPane().add(painel1);
	painel1.add(resultado); resultado.setEditable(false);
	painel1.add(botaoc);
	
	JPanel painel2 = new JPanel();
	painel2.setLayout(new GridLayout(4, 4));
	painel2.add(botao7);
	painel2.add(botao8);
	painel2.add(botao9);
	painel2.add(mais);
	painel2.add(botao4);
	painel2.add(botao5);
	painel2.add(botao6);
	painel2.add(menos);
	painel2.add(botao1);
	painel2.add(botao2);
	painel2.add(botao3);
	painel2.add(vezes);
	painel2.add(botao0);
	painel2.add(ponto); ponto.setEnabled(false);
	painel2.add(igual);
	painel2.add(dividir);
	
	
	add(painel1, "North");
	add(painel2, "South");
	
	// PROPRIEDADES
	setTitle("Calculadora v0.1");
	setResizable(false);
	setLocationRelativeTo(null);
	pack();
	//setSize(250, 200);
	setVisible(true);
	setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
	
	
	
	
	// botaoc
	botaoc.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	resultado.setText(""); //trantando o evento
        	soma = 0;
        	multi= 0; 
        	div = 0;
        	sub = 0;
        	z = 999;
        	y = 0;
        	k = "";
    }
}); 
	
	//botao0
	botao0.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "0");
        	
        	k = k + "0";
        	
        	
    }
}); 
	
//	botao1
	botao1.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "1");
        	
        	k = k + "1";
    }
}); 
	

//	botao2
	botao2.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "2");
        	
        	k = k + "2";
    }
}); 
	
//	botao3
	botao3.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "3");
        	
        	k = k + "3";
        	   		
  
    }
}); 
	
//	botao4
	botao4.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "4");
        	
        	k = k + "4";
  
    }
}); 
	
//	botao5
	botao5.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "5");
        	
        	k = k + "5";
  
    }
}); 
	
//	botao6
	botao6.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "6");
        	
        	k = k + "6";
        	
    }
}); 
	
//	botao7
	botao7.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "7");
        	
        	k = k + "7";
  
    }
}); 
	
//	botao8
	botao8.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "8");
        	
        	k = k + "8";
  
    }
}); 
	
//	botao9
	botao9.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + "9");
        	
        	k = k + "9";
  
    }
}); 
	
//	ponto
	ponto.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
        	
        	resultado.setText(resultado.getText() + ".");
  
    }
}); 
	
//	mais
	mais.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
      
        	resultado.setText(resultado.getText() + " + ");
        	z = 0;
        	y = y + Integer.parseInt(k);
        	k="";
        	
    }
}); 
	
//	menos
	menos.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
      
        	resultado.setText(resultado.getText() + " - ");
        	z = 1;
        	y = y + Integer.parseInt(k);
        	k="";
        	
    }
}); 
	
//	vezes
	vezes.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
      
        	resultado.setText(resultado.getText() + " * ");
        	z = 2;
        	y = y + Integer.parseInt(k);
        	k="";
    }
}); 
	
//	dividir
	dividir.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
      
        	resultado.setText(resultado.getText() + " / ");
        	z = 3;
        	y = y + Integer.parseInt(k);
        	k="";
    }
}); 
	
//	igual
	igual.addActionListener(new ActionListener(){ // adiciona o ouvinte
        public void actionPerformed(ActionEvent e) {
      
        	switch (z){
        	case 0:
        		y = y + Integer.parseInt(k);
        		resultado.setText(String.valueOf (y));
        		
        	break;
        	
        	case 1:
        		y = y - Integer.parseInt(k);
        		resultado.setText(String.valueOf (y));
        	break;
        	
        	case 2:
        		y = y * Integer.parseInt(k);
        		resultado.setText(String.valueOf (y));
        	break;
        	
        	case 3:
        		y = y / Integer.parseInt(k);
        		resultado.setText(String.valueOf (y));
        	break;
        		
        	}
    }
}); 
	
	
	
}
}
dsfextreme

Tenta esse aqui tbm :arrow: Calculadora

Um abraço!

SemStress

:!: Ops!.. Só um probleminha neste exemplo acima:

10 + 10

clic “=” = 20

clic “=” = 30

clic “+ 10” e clic “=” = 50!

Criado 31 de maio de 2006
Ultima resposta 7 de abr. de 2008
Respostas 3
Participantes 4