Visualizzazione dei risultati da 1 a 8 su 8

Discussione: calcolatrice

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123

    calcolatrice

    codice:
    public void actionPerformed(ActionEvent e) {
            String comando = e.getActionCommand();
            System.out.println("comando = " +comando);
            if( ! comando.equalsIgnoreCase("Esegui operazione") ) //se comando che arriva è diverso da esegui operazione
            {
                String valore1 = testo1.getText();
                testo1.setText(valore1+comando);
            }
    
    
            else
            {
                String valore1 = testo1.getText();
          
               //1° modo
                for(int i=0;i<valore1.length();i++)
                {
                    if(valore1.charAt(i) == '+')
                    {
                       
                    }
                }
                
               //2° modo
                String[] tmp = valore1.split("//+");
                int somma = 0;
                for(int i=0; i<tmp.length;i++)
                {
                    somma += Integer.parseInt(tmp[i].trim());
                }
                testo2.setText(somma+"");
       
            }
        }
    }
    devo fare una calcolatrice e quindi devo implementare le 4 operazioni...sono arrivato a questo punto che non riesco a fare in modo che utilizzi tutte e 4 le operazioni...per il + ce lho fatta benissimo..ora mi trovo in difficoltà per farle tutte insieme...
    nel codice ho messo due modi per procedere che mi sono venuti in mente,ma non so come fare e se uno dei due possa andare bene...ma cmq il problema resta che non so come procedere..
    help me

  2. #2
    Come hai pensato di disporre l'interfaccia della calcolatrice?

    Ogni operatore (+, *, -, /) ha un proprio bottone nell'interfaccia? oppure la calcolatrice valuta un'intera espressione specificata direttamente dall'utente nell'interfaccia?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    4
    se l'interfaccia ha a disposizione un bottone per ogni operazione allora si risolve facilmente il problema, magari facendo una classe actionlistener per ogni bottone (oppure uno per tutti i bottoni, dipende da come sei comodo te).

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    Praticamente ho fatto due gridLayout...uno 3x3 per le cifre ed uno 5x1 dove ho esegui,+,+,*,/

    e funziona nel seguente modo : scrivo in una JTextField tutta lespressione (per es : 5+4-6*8) ed in unaltra JTextField mi appare il risultato...

    ed il metodo actionPerformed lho implementato come mostrato precedentemente, ma non so come fare...
    mi era passata per la testa anche lidea di fare uno switch ma non sono riuscito a trovare un modo corretto per implementarlo..

    help

  5. #5
    Ok. Ma intendi valutare l'espressione mentre l'utente la compone oppure solo quando esso clicca sul tasto dell'uguale?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    solo quando clicca sul uguale

  7. #7
    Originariamente inviato da bobo24
    solo quando clicca sul uguale
    Quindi ti conviene creare un algoritmo che valuti espressioni aritmetiche e lanciarlo opportunamente nel momento in cui l'actionperformed intercetta la pressione del tastierino dell'uguale.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    4
    effettivamente dovresti implementarti un algoritmo, ovviamente con le precendenze delle varie operazioni.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.