Calcolatrice Thread - Java

EasyMan QV

Azienda Verificata
7,864
5,299
Ciao Ragazzi,
avrei bisogno di una vostra semplice mano: devo realizzare una calcolatrice per operazioni basilare ( + - / e *).
Ho trovato molti codici online, ma copiare non mi sembra la soluzione al problema, infatti nemmeno dai voi chiederò del codice, ma dei consigli per strutturare al meglio il mio programma.

Ora, vi elenco subito degli obblighi che ho, visto che si tratta di un compito scolastico (devo realizzarlo in pochi giorni... Quindi soluzioni semplici sono molto gradite):
- sviluppo con IDE NetBeans
- utilizzo di Swing con NetBeans (so che uno in questo forum mi sconsigliò di usare gli IDE perché "sporcano" il codice, vi vorrei dare ascolto, ma purtroppo non dipende da me).
- utilizzo Thread (con estensione della classe thread).

Cose che vorrei farei in più io:
- strutturare il programma seguendo il pattern MVC
- Lavorare anche con numeri con numeri con cifre dopo la virgola

Come deve essere questa calcolatrice?
Semplicissima : ho un display in alto dove visualizzare tutto (un JLabel se non erro, o un TextField.. Ora non ricordo di preciso) e sotto dei bottoni con 1,2,3,4... più (+), meno (-),... e un tasto reset (chiamato C).

Questo programma ha 2 thread: uno che appunto risolve i conti e uno per un timer (visualizzato da qualche altra parte), che visualizza l'ora corrente.

Vorrei sapere:
- Cosa è meglio usare per memorizzare le operazioni della calcolatrice? So utilizzare stringhe e tutti i tipi primitivi, anche qualche struttura dati semplici come un ArrayList (che avevo intenzione di utilizzare, ma non credo che non sia necessario... non so).

- Qualche accorgimento per evitare di avere problemi tra i due thread? Altri miei amici che l'hanno realizzata mi hanno detto che ad un certo punto il thread della calcolatrice si impianta, mentre quello dell'ora va avanti.

Se volete elencate del codice, ma non credo mi sia necessario.
Mi basta solo qualche chiarimento da voi, poi vorrei arrangiarmi io se possibile :asd:

Vi ringrazio in anticipo per la (lunga) lettura, spero di aver detto tutto discretamente :ok:
(MOD: lo so che non ho messo il codice come da regolamento, ma credo che non sia necessario... non arrabbiatevi :sbav:)

Grazie in anticipo a chiunque mi aiuterà, buona giornata a tutti ;)
 
  • Mi piace
Reazioni: Alispezzate

fedi98

Nuovo Utente
121
8
per memorizzare le varie operazioni devi usare una lista (quindi ArrayList va bene) di stringhe. per quanto riguarda i thread prima crea il codice e se eventualmente crea problemi postalo qua. E difficile risolvere un problema che molto probabilmente non esisterà.
 
  • Mi piace
Reazioni: EasyMan QV

EasyMan QV

Azienda Verificata
7,864
5,299
per memorizzare le varie operazioni devi usare una lista (quindi ArrayList va bene) di stringhe. per quanto riguarda i thread prima crea il codice e se eventualmente crea problemi postalo qua. E difficile risolvere un problema che molto probabilmente non esisterà.
ok va bene, allora procederò di ArrayList!
Se avrò problemi posterò qua come mi hai indicato, grazie per la risposta :brindiamo:
 
  • Mi piace
Reazioni: Alispezzate

EasyMan QV

Azienda Verificata
7,864
5,299
Niente, alla fine ho risolto.
I Thread non si sono mai impiantati, gli ho divisi e ho seguito il Pattern MVC, anche se ho fatto un po' di confusione per le gestioni dei calcoli e non sempre si risolve la situazione.
Ho usato un semplice Array di stringhe (l'arrayList lo implementerò questa estate se riprenderò in mano il progetto). Le concatenavo e ovviamente potevo fare 2+5+7.
Non è chissà che, anche perché se scriviamo 2+5*6 eseguirà per prima la somma e non la moltiplicazione, non ho aggiunto neanche le parentesi (avrei una mezza idea per assegnare le priorità, ma credo sia un lavoro lungo e ora mi devo concentrare su altro.).
Se passate MOD, chiudete pure.
Grazie per la risposta @fedi98 :brindiamo:
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili