etspaz 0 Denunciar post Postado Maio 7, 2007 boa tarde, estou começando a estudar java e meu professor é meio complicado, pois basicamente escreve os programas e pedepara nós ,alunos copiarmos.agora ele pediu um trabalho , nos entregou um programinha e disse para nós completarmos,é uma calculadora , ele já criou toda a interface, so falta dar funcionalidade, aí eu não estou conseguindo.um colega disse que ele esta chamando uma classe que ainda não existe ,eu tenho que criar, porém não estou conseguindo determinar onde criar.vou colocar o codigo aí e se alguem puder me dar uma(s) dicas eu agradeço, pois tenho que entregar no dia 16/05/07. obs:não quero tudo facil, por exemplo, se me derem uma dica quanto á um botão,já terei uma base para implementar para os outros, os calculos ja sei que posso criar uma função, só não consigo perceber onde, vlw:import java.awt.*;import java.awt.event.*;public class CalcVisual extends Frame { // Cria os painéis Panel panelTeclas = new Panel(); Panel panelTeclasTopo = new Panel(); Panel panelTeclasNumericas = new Panel(); // cria os gerenciadores de layout dos painéis BorderLayout BorderLayoutPrincipal = new BorderLayout(); BorderLayout BorderLayoutTodasAsTeclas = new BorderLayout(); GridLayout gridLayoutClearCEBackSpace = new GridLayout(); GridLayout gridLayoutTeclasNumericasEOperacoes = new GridLayout(); // cria a área de display da calculadora TextField textFieldDisplay = new TextField(); // cria os botões da calculadora Button buttonBackspace = new Button(); Button buttonC = new Button(); Button buttonCE = new Button(); Button button_0 = new Button(); Button button_1 = new Button(); Button button_2 = new Button(); Button button_3 = new Button(); Button button_4 = new Button(); Button button_5 = new Button(); Button button_6 = new Button(); Button button_7 = new Button(); Button button_8 = new Button(); Button button_9 = new Button(); Button button_pontoDecimal = new Button(); Button button_igual = new Button(); Button button_soma = new Button(); Button button_subtracao = new Button(); Button button_mult = new Button(); Button button_divisao = new Button(); Button button_percento = new Button(); Button button_raiz = new Button(); Button button_inverteSinal = new Button(); Button button_reciproco = new Button(); // cria o "modelo de dados", isto é, o próprio objeto calculadora // que irá efetivamente realizar os cálculos //Calc calc = new Calc(); // construtor da parte visual da calculadora public CalcVisual() { try { buildGUI(); } catch (Exception e) { e.printStackTrace(); } } /** * Constroi os elementos da interface grafica da calculadora */ private void buildGUI() throws Exception { // ajusta as propriedades display textFieldDisplay.setText("1"); // modifica cores de alguns botões buttonBackspace.setForeground(Color.red); buttonC.setForeground(Color.red); buttonCE.setForeground(Color.red); // atribui rótulos aos botões da calculadora buttonC.setLabel("C"); buttonCE.setLabel("CE"); buttonBackspace.setLabel("Backspace"); button_0.setLabel("0"); button_1.setLabel("1"); button_2.setLabel("2"); button_3.setLabel("3"); button_4.setLabel("4"); button_5.setLabel("5"); button_6.setLabel("6"); button_7.setLabel("7"); button_8.setLabel("8"); button_9.setLabel("9"); button_soma.setLabel("+"); button_igual.setLabel("="); button_subtracao.setLabel("-"); button_mult.setLabel("*"); button_divisao.setLabel("/"); button_percento.setLabel("%"); button_raiz.setLabel("v-"); button_inverteSinal.setLabel("+/-"); button_reciproco.setLabel("?"); button_pontoDecimal.setLabel("."); // adiciona alguns botões no painel de teclas superior gridLayoutClearCEBackSpace.setColumns(3); panelTeclasTopo.setLayout(gridLayoutClearCEBackSpace); panelTeclasTopo.add(buttonBackspace, null); panelTeclasTopo.add(buttonCE, null); panelTeclasTopo.add(buttonC, null); // adiciona alguns botões no painel de teclas inferior gridLayoutTeclasNumericasEOperacoes.setRows(4); gridLayoutTeclasNumericasEOperacoes.setColumns(5); gridLayoutTeclasNumericasEOperacoes.setHgap(4); gridLayoutTeclasNumericasEOperacoes.setVgap(4); panelTeclasNumericas.setLayout(gridLayoutTeclasNumericasEOperacoes); panelTeclasNumericas.add(button_7, null); panelTeclasNumericas.add(button_8, null); panelTeclasNumericas.add(button_9, null); panelTeclasNumericas.add(button_divisao, null); panelTeclasNumericas.add(button_raiz, null); panelTeclasNumericas.add(button_4, null); panelTeclasNumericas.add(button_5, null); panelTeclasNumericas.add(button_6, null); panelTeclasNumericas.add(button_mult, null); panelTeclasNumericas.add(button_percento, null); panelTeclasNumericas.add(button_1, null); panelTeclasNumericas.add(button_2, null); panelTeclasNumericas.add(button_3, null); panelTeclasNumericas.add(button_subtracao, null); panelTeclasNumericas.add(button_reciproco, null); panelTeclasNumericas.add(button_0, null); panelTeclasNumericas.add(button_inverteSinal, null); panelTeclasNumericas.add(button_pontoDecimal, null); panelTeclasNumericas.add(button_soma, null); panelTeclasNumericas.add(button_igual, null); // adiciona ao painel geral de todas as teclas // os dois paineis de teclas menores // ajusta as propriedades dos gerenciadores de layout panelTeclas.setLayout(BorderLayoutTodasAsTeclas); panelTeclas.add(panelTeclasTopo, BorderLayout.NORTH); panelTeclas.add(panelTeclasNumericas, BorderLayout.CENTER); // ajusta propriedades gerais visuais da interface this.setSize(250, 275); this.setResizable(false); this.setLayout(BorderLayoutPrincipal); // adiciona o painel geral de teclas ao centro frame (this) this.add(panelTeclas, BorderLayout.CENTER); // adiciona o display ao topo do frame (this) this.add(textFieldDisplay, BorderLayout.NORTH); // cria o tratador de evento para o botão C (clear) buttonC.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { buttonC_actionPerformed(e); } } ); // cria o tratador de evento para o botão "1" button_1.addActionListener ( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_1_actionPerformed(e); } } ); // cria o tratador de evento para o botão "2" button_2.addActionListener ( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_2_actionPerformed(e); } } ); // cria o tratador de evento para o botão "+" button_soma.addActionListener ( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_soma_actionPerformed(e); } } ); // cria o tratador de evento para o botão "=" button_igual.addActionListener ( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_igual_actionPerformed(e); } } ); // cria o tratador de evento para o comando de janelas window close // (ALT+F4 no windows) this.addWindowListener ( new java.awt.event.WindowAdapter() { public void windowClosing(WindowEvent e) { this_windowClosing(e); } } ); // mostra a interface grafica para o usuário show(); }//fim build GUI // métodos que implementam o tratamento de eventos void this_windowClosing(WindowEvent e) { System.exit(0); } void button_soma_actionPerformed(ActionEvent e) { //this.textFieldDisplay.setText("" + calc.soma()); } void button_igual_actionPerformed(ActionEvent e) { //this.textFieldDisplay.setText("" + calc.igual()); } void button_1_actionPerformed(ActionEvent e) { //this.textFieldDisplay.setText("" + calc.um()); } void button_2_actionPerformed(ActionEvent e) { //this.textFieldDisplay.setText("" + calc.dois()); } void buttonC_actionPerformed(ActionEvent e) { //this.textFieldDisplay.setText("" + calc.reset()); } public static void main(String[] args) { CalcVisual CalcVisual1 = new CalcVisual(); }} Compartilhar este post Link para o post Compartilhar em outros sites
NorTheR 0 Denunciar post Postado Maio 8, 2007 Só pra resumir..Ele fez a classe Frame, e quer que vcs fazem a classe que irá ter os métodos (reset(),dois(),um(),soma(),igual()) ? Compartilhar este post Link para o post Compartilhar em outros sites
etspaz 0 Denunciar post Postado Maio 14, 2007 Só pra resumir..Ele fez a classe Frame, e quer que vcs fazem a classe que irá ter os métodos (reset(),dois(),um(),soma(),igual()) ?opa, vlw, NorTheR!depois de um tempão , to conseguindo,mas...double igual() { double resultado = 0; if (operacaoSelecionada == SOMA) { resultado = acumulador0 + acumulador1; } else if (operacaoSelecionada == SUBTRACAO) { resultado = acumulador0 - acumulador1; } else if (operacaoSelecionada == MULTIPLICACAO) { resultado = acumulador0 * acumulador1; } else if (operacaoSelecionada == DIVISAO) { resultado = acumulador0 / acumulador1; } else if (operacaoSelecionada == RAIZ) { resultado = Math.sqrt(acumulador0); } else if (operacaoSelecionada == POTENCIA) { resultado = Math.pow(acumulador0,acumulador1); } else if (operacaoSelecionada ==INVERTESINAL) { resultado = acumulador0 * (-1); } reset(); return resultado; }este é um pedaaço do trabalho, ele calcula dieitinho, o problema é que depois de exibir um resultado ele zera tudo, ou seja.se eu somar 2+2, ele exibe 4, e se eu clicar no sinal de +, ele zera o resultado, eu não consigo calcular o resultado com outro valor.já tentei tirar a função reset(), acionando-a so no clicar do C(clear), mas fica doido, pois não zera, mas não calcula direito.espero que eu tenha conseguido explicar, vou colocar todo o codigo pra vcs entenderem melhor e quem quiser testar e me ajudar, porque agora esta bem mais completo que na primeira vez.o meu tempo esta acabando :unsure: é quarta agora http://forum.imasters.com.br/public/style_emoticons/default/upset.gif import java.awt.*;import java.awt.event.*;class CalcVisual extends Frame { // Cria os painéis Panel panelTeclas = new Panel(); Panel panelTeclasTopo = new Panel(); Panel panelTeclasNumericas = new Panel(); // cria os gerenciadores de layout dos painéis BorderLayout BorderLayoutPrincipal = new BorderLayout(); BorderLayout BorderLayoutTodasAsTeclas = new BorderLayout(); GridLayout gridLayoutClearCEBackSpace = new GridLayout(); GridLayout gridLayoutTeclasNumericasEOperacoes = new GridLayout(); // cria a área de display da calculadora TextField textFieldDisplay = new TextField(); // cria os botões da calculadora Button buttonBackspace = new Button(); Button buttonC = new Button(); Button buttonCE = new Button(); Button button_0 = new Button(); Button button_1 = new Button(); Button button_2 = new Button(); Button button_3 = new Button(); Button button_4 = new Button(); Button button_5 = new Button(); Button button_6 = new Button(); Button button_7 = new Button(); Button button_8 = new Button(); Button button_9 = new Button(); Button button_pontoDecimal = new Button(); Button button_igual = new Button(); Button button_soma = new Button(); Button button_subtracao = new Button(); Button button_mult = new Button(); Button button_divisao = new Button(); Button button_percento = new Button(); Button button_raiz = new Button(); Button button_inverteSinal = new Button(); Button button_reciproco = new Button(); // cria o "modelo de dados", isto é, o próprio objeto calculadora // que irá efetivamente realizar os cálculos Calc calc = new Calc(); // construtor da parte visual da calculadora public CalcVisual() { try { buildGUI(); } catch (Exception e) { e.printStackTrace(); } } /** * Constroi os elementos da interface grafica da calculadora */ private void buildGUI() throws Exception { // ajusta as propriedades display textFieldDisplay.setText("0"); // modifica cores de alguns botões buttonBackspace.setForeground(Color.red); buttonC.setForeground(Color.red); buttonCE.setForeground(Color.red); // atribui rótulos aos botões da calculadora buttonC.setLabel("C"); buttonCE.setLabel("CE"); buttonBackspace.setLabel("Backspace"); button_0.setLabel("0"); button_1.setLabel("1"); button_2.setLabel("2"); button_3.setLabel("3"); button_4.setLabel("4"); button_5.setLabel("5"); button_6.setLabel("6"); button_7.setLabel("7"); button_8.setLabel("8"); button_9.setLabel("9"); button_soma.setLabel("+"); button_igual.setLabel("="); button_pontoDecimal.setLabel("."); button_subtracao.setLabel("-"); button_mult.setLabel("*"); button_divisao.setLabel("/"); button_percento.setLabel("%"); button_raiz.setLabel("sqrt"); button_inverteSinal.setLabel("+/-"); button_reciproco.setLabel("poten."); // adiciona alguns botões no painel de teclas superior gridLayoutClearCEBackSpace.setColumns(3); panelTeclasTopo.setLayout(gridLayoutClearCEBackSpace); panelTeclasTopo.add(buttonBackspace, null); panelTeclasTopo.add(buttonCE, null); panelTeclasTopo.add(buttonC, null); // adiciona alguns botões no painel de teclas inferior gridLayoutTeclasNumericasEOperacoes.setRows(4); gridLayoutTeclasNumericasEOperacoes.setColumns(5); gridLayoutTeclasNumericasEOperacoes.setHgap(4); gridLayoutTeclasNumericasEOperacoes.setVgap(4); panelTeclasNumericas.setLayout(gridLayoutTeclasNumericasEOperacoes); panelTeclasNumericas.add(button_7, null); panelTeclasNumericas.add(button_8, null); panelTeclasNumericas.add(button_9, null); panelTeclasNumericas.add(button_divisao, null); panelTeclasNumericas.add(button_raiz, null); panelTeclasNumericas.add(button_4, null); panelTeclasNumericas.add(button_5, null); panelTeclasNumericas.add(button_6, null); panelTeclasNumericas.add(button_mult, null); panelTeclasNumericas.add(button_percento, null); panelTeclasNumericas.add(button_1, null); panelTeclasNumericas.add(button_2, null); panelTeclasNumericas.add(button_3, null); panelTeclasNumericas.add(button_subtracao, null); panelTeclasNumericas.add(button_reciproco, null); panelTeclasNumericas.add(button_0, null); panelTeclasNumericas.add(button_inverteSinal, null); panelTeclasNumericas.add(button_pontoDecimal, null); panelTeclasNumericas.add(button_soma, null); panelTeclasNumericas.add(button_igual, null); // adiciona ao painel geral de todas as teclas // os dois paineis de teclas menores // ajusta as propriedades dos gerenciadores de layout panelTeclas.setLayout(BorderLayoutTodasAsTeclas); panelTeclas.add(panelTeclasTopo, BorderLayout.NORTH); panelTeclas.add(panelTeclasNumericas, BorderLayout.CENTER); // ajusta propriedades gerais visuais da interface this.setSize(250, 275); this.setResizable(false); this.setLayout(BorderLayoutPrincipal); // adiciona o painel geral de teclas ao centro frame (this) this.add(panelTeclas, BorderLayout.CENTER); // adiciona o display ao topo do frame (this) this.add(textFieldDisplay, BorderLayout.NORTH); /** * cria os vários tratadores de evento */ // cria o tratador de evento para o botão C (clear) buttonC.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { buttonC_actionPerformed(e); } }); // cria o tratador de evento para o botão "1" button_1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_1_actionPerformed(e); } }); // cria o tratador de evento para o botão "2" button_2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_2_actionPerformed(e); } }); // cria o tratador de evento para o botão "3" button_3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_3_actionPerformed(e); } }); // cria o tratador de evento para o botão "4" button_4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_4_actionPerformed(e); } }); // cria o tratador de evento para o botão "5" button_5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_5_actionPerformed(e); } }); // cria o tratador de evento para o botão "6" button_6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_6_actionPerformed(e); } }); // cria o tratador de evento para o botão "7" button_7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_7_actionPerformed(e); } }); // cria o tratador de evento para o botão "8" button_8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_8_actionPerformed(e); } }); // cria o tratador de evento para o botão "9" button_9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_9_actionPerformed(e); } }); // cria o tratador de evento para o botão "0" button_0.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_0_actionPerformed(e); } }); // cria o tratador de evento para o botão "+" button_soma.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_soma_actionPerformed(e); } }); // cria o tratador de evento para o botão "=" button_igual.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_igual_actionPerformed(e); } }); //cria o tratador de evento para o botão "-" button_subtracao.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_subtracao_actionPerformed(e); } }); //cria o tratador de evento para o botão "*" button_mult.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_mult_actionPerformed(e); } }); // cria o tratador de evento para o botão "/" button_divisao.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_divisao_actionPerformed(e); } }); // cria o tratador de evento para o botão "%" //button_percento.addActionListener(new java.awt.event.ActionListener() { //public void actionPerformed(ActionEvent e) { //button_percento_actionPerformed(e); //} //}); //cria o tratador de evento para o botão "+/-" button_inverteSinal.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_inverteSinal_actionPerformed(e); } }); // cria o tratador de evento para o botão "raiz" button_raiz.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_raiz_actionPerformed(e); } }); // cria o tratador de evento para o botão "poten." button_reciproco.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button_reciproco_actionPerformed(e); } }); // cria o tratador de evento para o comando de janelas window close // (ALT+F4 no windows) this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(WindowEvent e) { this_windowClosing(e); } }); // mostra a interface grafica para o usuário show(); } // métodos que implementam o tratamento de eventos void this_windowClosing(WindowEvent e) { System.exit(0); } void button_soma_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.soma()); } void button_subtracao_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.subtracao()); } void button_divisao_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.divisao()); } void button_mult_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.mult()); } void button_raiz_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.raiz()); } void button_reciproco_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.reciproco()); } void button_inverteSinal_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.invertesinal()); } // void button_percento_actionPerformed(ActionEvent e) { // this.textFieldDisplay.setText("" + calc.percento()); //} void button_igual_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.igual()); } void button_1_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.um()); } void button_2_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.dois()); } void button_3_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.tres()); } void button_4_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.quatro()); } void button_5_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.cinco()); } void button_6_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.seis()); } void button_7_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.sete()); } void button_8_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.oito()); } void button_9_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.nove()); } void button_0_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.zero()); } void buttonC_actionPerformed(ActionEvent e) { this.textFieldDisplay.setText("" + calc.reset()); } public static void main(String[] args) { CalcVisual CalcVisual1 = new CalcVisual(); } public class Calc { /** * o estado global da calculadora em um determinado instante de tempo * eh definido por quatro valores: estadoInteracao, operacaoSelecionada, * display, acumulador0 e acumulador1 */ private int estadoInteracao; // indica qual a operacao foi selecionada private int operacaoSelecionada; // a calculadora possui dois acumuladores // acumulador0 contém o valor do primeiro operando, e o resultado da // última operação realizada sobre a calculadora private long acumulador0; // acumulador1 contém o valor do segundo operando private long acumulador1; /** * Constantes que codificam a operacao correntemente selecionada */ // NENHUMA. Indica que nenhuma operacao foi selecionada na calculadora private static final int NENHUMA = 0; // SOMA. Indica que a operacao de soma foi selecionada private static final int SOMA = 1; // SUBTRACAO. Indica que a operaçÃo de subtracao foi selecionada private static final int SUBTRACAO = 2; // MULTIPLICACAO. Indica que a operaçÃo de MULTIPLICACAO foi selecionada private static final int MULTIPLICACAO = 3; // DIVISAO. Indica que a operaçÃo de DIVISAO foi selecionada private static final int DIVISAO = 4; // RAIZ. Indica que a operaçÃo de RAIZ QUAD foi selecionada private static final int RAIZ = 5; // INVERTESINAL. Indica que a operaçÃo de INVERTESINAL foi selecionada private static final int INVERTESINAL = 6; // POTENCIA. Indica que a operaçÃo de POTENCIA foi selecionada private static final int POTENCIA = 7; /** * Constantes que indicam os possíveis estados nos quais pode * se encontrar a calculadora em um determinado instante * A calculadora pode se encontrar em dois possiveis estados: * ACUMULANDO_0 e ACUMULANDO_1 * No estado ACUMULANDO_0 o valor das teclas numéricas pressionadas * eh acumulado no acumulador0 */ private static final int ACUMULANDO_0 = 0; /** * No estado ACUMULANDO_1, o acumulador 0 ja contem um valor e uma * operacao aritmetica ja foi selecionada. O valor das teclas numéricas * pressionadas e acumulado no acumulador1 */ private static final int ACUMULANDO_1 = 1; // construtor do objeto calculadora public Calc() { } /** * Programa que cria um objeto calculadora (sem interface grafica) */ /** * invoca o pressionamento da tecla "+" */ long soma() { operacaoSelecionada = SOMA; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "-" */ long subtracao() { operacaoSelecionada = SUBTRACAO; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "*" */ long mult() { operacaoSelecionada = MULTIPLICACAO; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "/" */ long divisao() { operacaoSelecionada = DIVISAO; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "raiz" */ long raiz() { operacaoSelecionada = RAIZ; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "+/-" */ long invertesinal() { operacaoSelecionada = INVERTESINAL; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "POTEN." */ long reciproco() { operacaoSelecionada = POTENCIA; estadoInteracao = ACUMULANDO_1; return acumulador0; } /** * invoca o pressionamento da tecla "1" */ long um() { return numeroDigitado(1); } /** * invoca o pressionamento da tecla "2" */ long dois() { return numeroDigitado(2); } /** * invoca o pressionamento da tecla "3" */ long tres() { return numeroDigitado(3); } /** * invoca o pressionamento da tecla "4" */ long quatro() { return numeroDigitado(4); } /** * invoca o pressionamento da tecla "5" */ long cinco() { return numeroDigitado(5); } /** * invoca o pressionamento da tecla "6" */ long seis() { return numeroDigitado(6); } /** * invoca o pressionamento da tecla "7" */ long sete() { return numeroDigitado(7); } /** * invoca o pressionamento da tecla "8" */ long oito() { return numeroDigitado(8); } /** * invoca o pressionamento da tecla "9" */ long nove() { return numeroDigitado(9); } /** * invoca o pressionamento da tecla "0" */ long zero() { return numeroDigitado(0); } /** * informa a calculadora que uma tecla de valor foi pressionada * e solicita o valor a ser mostrado no display */ long numeroDigitado(int valor) { if (estadoInteracao == ACUMULANDO_0) { acumulador0 = acumulador0 * 10 + valor; estadoInteracao = ACUMULANDO_0; return acumulador0; } else if (estadoInteracao == ACUMULANDO_1) { acumulador1 = acumulador1 * 10 + valor; estadoInteracao = ACUMULANDO_1; return acumulador1; } return 0; } /** * invoca o pressionamento da tecla "=" */ double igual() { double resultado = 0; if (operacaoSelecionada == SOMA) { resultado = acumulador0 + acumulador1; } else if (operacaoSelecionada == SUBTRACAO) { resultado = acumulador0 - acumulador1; } else if (operacaoSelecionada == MULTIPLICACAO) { resultado = acumulador0 * acumulador1; } else if (operacaoSelecionada == DIVISAO) { resultado = acumulador0 / acumulador1; } else if (operacaoSelecionada == RAIZ) { resultado = Math.sqrt(acumulador0); } else if (operacaoSelecionada == POTENCIA) { resultado = Math.pow(acumulador0,acumulador1); } else if (operacaoSelecionada ==INVERTESINAL) { resultado = acumulador0 * (-1); } reset(); return resultado; } /** * limpa registradores e inicializa o estado * executado quando o botao "C" (clear) eh pressionado */ long reset() { estadoInteracao = ACUMULANDO_0; operacaoSelecionada = NENHUMA; acumulador0 = 0; acumulador1 = 0; return acumulador0; }}}desde já, muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
NorTheR 0 Denunciar post Postado Maio 15, 2007 É isso ae =D Ae cara, ele zera o resultado pq não é um atributo, é uma variavel local, tente declará-la dentro da classe. Declarando dentro do método ela só existe quando o metodo é executado, sacow? Compartilhar este post Link para o post Compartilhar em outros sites
leandrokjava 0 Denunciar post Postado Maio 15, 2007 teste http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites