1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Por favor me ajudem a acabar com esta calculadora?

enter code here
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import javax.microedition.lcdui.*;

/**
 * @author Bruna
 */
public class CanvasCalculadora extends Canvas implements CommandListener {

    private float resultado;
    private String tecla;
    private String operador;
    private String n;
    private int cont=0;


    /**
     * constructor
     */
    public CanvasCalculadora() {
        try {
            // Set up this canvas to listen to command events
            setCommandListener(this);
            // Add the Exit command
            addCommand(new Command("Exit", Command.EXIT, 1));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * paint
     */
    public void paint(Graphics g) {
        int largura = getWidth();
        int altura = getHeight();
        //desenhando o plano de fundo
        g.setColor(255, 255, 255);
        g.fillRect(0, 0, getWidth(), getHeight());
        //escreve a tecla pressionada
        g.setColor(25, 25, 112);

        g.drawRect(20, 20, 200, 20);
        g.setColor(0, 0, 0);
        //resultado
        g.setColor(0, 0, 255);
        g.drawString("Resultado:", 25, 40, Graphics.LEFT | Graphics.TOP);
        g.setColor(238, 130, 238);
        g.fillRect(20, 60, 200, 30);

//numero no circulo

        g.setColor(255, 228, 225);
        g.fillArc(25, 100, largura / 8, altura / 10, 0, 360);
        g.fillArc(65, 100, largura / 8, altura / 10, 0, 360);
        g.fillArc(105, 100, largura / 8, altura / 10, 0, 360);
        g.fillArc(145, 100, largura / 8, altura / 10, 0, 360);
        g.fillArc(185, 100, largura / 8, altura / 10, 0, 360);

        g.fillArc(45, 130, largura / 8, altura / 10, 0, 360);
        g.fillArc(90, 130, largura / 8, altura / 10, 0, 360);
        g.fillArc(130, 130, largura / 8, altura / 10, 0, 360);
        g.fillArc(170, 130, largura / 8, altura / 10, 0, 360);
        g.setColor(0, 0, 205);

        g.setColor(0, 0, 205);
        g.drawString("1", 40, 100, Graphics.HCENTER | Graphics.TOP);
        g.drawString("2", 80, 100, Graphics.HCENTER | Graphics.TOP);
        g.drawString("3", 120, 100, Graphics.HCENTER | Graphics.TOP);
        g.drawString("4", 160, 100, Graphics.HCENTER | Graphics.TOP);
        g.drawString("5", 200, 100, Graphics.HCENTER | Graphics.TOP);

        g.drawString("6", 60, 130, Graphics.HCENTER | Graphics.TOP);
        g.drawString("7", 105, 130, Graphics.HCENTER | Graphics.TOP);
        g.drawString("8", 145, 130, Graphics.HCENTER | Graphics.TOP);
        g.drawString("9", 185, 130, Graphics.HCENTER | Graphics.TOP);
        //ponteiro de controle
        g.setColor(199, 21, 133);
        g.fillRect(90, 165, 60, 60);
        //meio
        g.setColor(221, 160, 221);
        g.fillRect(102, 178, 35, 35);
        //caracteres
        g.setColor(0, 0, 205);
        g.drawString("=", 120, 185, Graphics.HCENTER | Graphics.TOP);
        g.drawString("+", 142, 185, Graphics.HCENTER | Graphics.TOP);
        g.drawString(".", 98, 180, Graphics.HCENTER | Graphics.TOP);
        g.drawString("-", 98, 187, Graphics.HCENTER | Graphics.TOP);
        g.drawString(".", 98, 189, Graphics.HCENTER | Graphics.TOP);
        g.drawString("x", 120, 161, Graphics.HCENTER | Graphics.TOP);
        g.drawString("-", 120, 210, Graphics.HCENTER | Graphics.TOP);
        g.setColor(132, 112, 255);
        g.drawString(tecla, 197, 20, Graphics.RIGHT | Graphics.TOP);

        g.setColor(0, 0, 0);
        g.drawString(operador, 205, 20, Graphics.RIGHT | Graphics.TOP);

        g.setColor(132, 112, 255);
        g.drawString(n, 215, 20, Graphics.RIGHT | Graphics.TOP);

    }

    /**
     * Called when a key is pressed.
     */
    protected void keyPressed(int KeyCode) {
        //descobrir a tecla pressionada



        switch (KeyCode) {
            case FIRE:
                tecla="=";
            case KEY_NUM0:
                tecla = "0";
                break;
            case KEY_NUM1:
                tecla = "1";
                break;
            case KEY_NUM2:
                tecla = "2";
                break;
            case KEY_NUM3:
                tecla = "3";
                break;
            case KEY_NUM4:
                tecla = "4";
                break;
            case KEY_NUM5:
                tecla = "5";
                break;
            case KEY_NUM6:
                tecla = "6";
                break;
            case KEY_NUM7:
                tecla = "7";
                break;
            case KEY_NUM8:
                tecla = "8";
                break;
            case KEY_NUM9:
                tecla = "9";
                break;

            //fim switch
        }
        cont++;
        if(cont>1){
            if(cont==2){
                cont=0;}
                }

        //redesenhar a tela
        repaint();
   //numeros

    }


    /**
     * Called when a key is released.
     */
    protected void keyReleased(int KeyCode) {


        int gameAction = getGameAction(KeyCode);
        switch (gameAction) {
            case UP:
                operador="x";
                break;
            case RIGHT:
                operador = "+";
                break;
            case LEFT:
                operador = "/";
                break;
            case DOWN:
                operador = "-";
                break;
        }

    switch (KeyCode) {
            case KEY_NUM0:
                n = "0";
                break;
            case KEY_NUM1:
                n = "1";
                break;
            case KEY_NUM2:
                n = "2";
                break;
            case KEY_NUM3:
                n = "3";
                break;
            case KEY_NUM4:
                n = "4";
                break;
            case KEY_NUM5:
                n = "5";
                break;
            case KEY_NUM6:
                n = "6";
                break;
            case KEY_NUM7:
                n = "7";
                break;
            case KEY_NUM8:
                n = "8";
                break;
            case KEY_NUM9:
                n = "9";
                break;

        }
          cont++; 
     repaint();

    }

    /**
     * Called when a key is repeated (held down).
     */
    protected void keyRepeated(int keyCode) {
    }

    /**
     * Called when the pointer is dragged.
     */
    protected void pointerDragged(int x, int y) {
    }

    /**
     * Called when the pointer is pressed.
     */
    protected void pointerPressed(int x, int y) {
    }

    /**
     * Called when the pointer is released.
     */
    protected void pointerReleased(int x, int y) {
    }

    /**
     * Called when action should be handled
     */
    public void commandAction(Command command, Displayable displayable) {



    }

    public void Somar() {


    }

    public void Subtrair() {
    }
}
  • coloque em que parte está tendo dúvida.

    Roger75   06 de set de 2014
  • então a calculadora que estou montando precisa realizar as quatros operações básicas,mas não sei como fazer isso com o Canvas e também o segundo numero está saindo igual ao primeiro,preciso mudar isso,pode me ajudar?

    bruna melo   06 de set de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java javascript javafx java8 java-ee ou faça a sua própria pergunta.