|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: May 2001
Messaggi: 15
|
ho un problemino in java
allora raga siccome in ingegneria informatica devo imparare bene il java mi sono cimentato una bellezza ma ho un problemino!!!
allora vorrei dire nel mio programma che la variabile int somma = + si assegnare a una variabile un operatore somma = + come si fa??? help me!!! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Eh ???
Io conosco il += come operatore...=+ non l'ho msi visto... int x = 0; x += 2; A questo punto x = 2... |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Forse ho capito cosa intendi.
Vorresti memorizzare in una variabile non un valore, ma una operazione, cosi' da poter utilizzare lo stesso codice con operazioni differenti ( somma , prodotto , eccetera ). Ho capito bene ? Se e' cosi' allora in Java non lo puoi fare direttamente ( almeno mi sembra ). Potresti pero' aggirare il problema creando una interfaccia apposita. Ad esempio: public interface operazione { |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Forse ho capito cosa intendi.
Vorresti memorizzare in una variabile non un valore, ma una operazione, cosi' da poter utilizzare lo stesso codice con operazioni differenti ( somma , prodotto , eccetera ). Se e' cosi' allora in Java non lo puoi fare direttamente ( almeno mi sembra ). Potresti pero' aggirare il problema creando una interfaccia apposita. Ad esempio: public interface Operazione { public int esegui( int x , int y ); } poi implementi questa interfaccia con oggetti diversi per le varie operazioni. ad es: public class Somma implements Operazione { public int esegui( int x , int y ) { return x+y; } } etc. poi puoi utilizzarle cosi': Operazione o = new Somma(); ... int z = o.esegui( 5 , 3 ); ovviamente tutto questo se ho capito bene quello che intendi dire ! ![]() |
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: May 2001
Messaggi: 15
|
si
si hai capito bene ora ti faccio leggere il codice:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Moon { public static void main(String[] args) {try { final double EURO = 1936.36; final double PIG = 3.14; InputStreamReader reader = new InputStreamReader(System.in); BufferedReader console = new BufferedReader(reader); System.out.println("Ciao mi chiamo Calcola"); System.out.print(" "); System.out.println("Te come ti chiami?"); String name = console.readLine(); System.out.println("Ciao" +name); System.out.println("per favore dammi i numeri e dimmi che tipo di operazione devo fare!"); System.out.println(" "); System.out.println("dammi il primo numero!"); String input = console.readLine(); int uno = Integer.parseInt(input); System.out.println("ora dammi il secondo!"); String Input = console.readLine(); int DUE = Integer.parseInt(input); System.out.println(" bravo ora dammi l'operatore!"); String operatore = console.readLine(); int who = operatore.length(); int somma = ( who = 5); int meno = ( who = 4); int moltiplica = ( who = 10); double dividi = ( who = 6); somma = (uno + DUE); meno = (uno - DUE); moltiplica = (uno * DUE); dividi = (uno / DUE); System.out.println(somma); System.out.println(meno); System.out.println(dividi); System.out.println(moltiplica); } catch(IOException e) { System.out.println(e); System.exit(1); } } } vabbe apparte che è il secondo programma della mia vita spero in un buon aiuto!! il programma oltre a chioedere all'utente come si chiama chiede di poter calcolare atraverso / * - + questi quattro operatori due numeri qualunque!!! cmq ho fatto in modo che contasse le lettere per sapere che tipo di operazione deve fare per esempio moltiplica = 10lettere o somma = a 5 lettere quindi l'utente deve scrivere somm a per sommare oppure dividi per fare la divisione etc... quello ke ancora nn sono riuscito a fare è che se le lettere che compongono le parole sono solo 5 deve solo sommare e non fare tutte le altre operazioni!! ---che poi risultato sbagliate!!! mi potete correggere l'errore? o aiutarmi a capire come posso ricompilarlo?? ps le costanti all'inizio le sviluppero + avanti grazie!! ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Milano
Messaggi: 551
|
qui ci vuole alexmaz!
__________________
"GOD'S IN HIS HEAVEN, ALL RIGHT WITH THE WORLD." |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ora...io non conosco quasi niente di Java...ma non basterebbe fare un confronto o uno switch fra stringhe ?
if(operatore == "somma") { ris = uno + DUE; System.out.println(ris); } else if (operatore == "moltiplica") { ris = uno * DUE; System.out.println(ris); } else if (operatore == "dividi") { ris = uno / DUE; System.out.println(ris); } else if (operatore == "sottrai") { ris = uno - DUE; System.out.println(ris); } else System.out.println("Operazione sconosciuta"); Ora se il confronto fra String si fa con == non lo so...ma se si fa altrimenti basta sostituire il modo in cui si fa fra le parentesi degli if... |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 235
|
Il confronto tra stringhe lo fai con la funzione:
operatore.equals("somma") Ciao |
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
ah, ma allora e' piu' semplice di quel che pensavo
![]() Ti conviene fare come dice cionci. Solo che per comparare la stringa s1 e la stringa s2 devi scirvere if( s1.equals(s2) ){ ... } |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 126
|
Ho letto la discussione e... non so se ho capito bene cmq ho tirato giù due righe sulla base di quello che hai scritto tu. Vedi un po' se era questo quello che intendevi.
Se non ti è chiaro qualcosa chiedi pure! ![]() import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Moon { public static void main(String[] args) { try { final double EURO = 1936.36; final double PIG = 3.14; InputStreamReader reader = new InputStreamReader(System.in); BufferedReader console = new BufferedReader(reader); System.out.println("Ciao mi chiamo Calcola.\nTe come ti chiami?"); String name = console.readLine(); System.out.println("Ciao "+name+"\nper favore dammi i numeri e dimmi che tipo di operazione devo fare!\n"); System.out.println("dammi il primo numero!"); double primo=0; boolean done=false; while (!done) { try { String input = console.readLine(); primo=Double.parseDouble(input); done=true; } catch(NumberFormatException e) { System.out.println("Attenzione!! Devi inserire un numero!\nRiprova:"); } } System.out.println("ora dammi il secondo!"); double secondo=0; done=false; while (!done) { try { String input = console.readLine(); secondo=Double.parseDouble(input); done=true; } catch(NumberFormatException e) { System.out.println("Attenzione!! Devi inserire un numero!\nRiprova:"); } } System.out.println("Bravo!\nOra dammi l'operatore! (somma, sottrazione, divisione, moltiplicazione)"); String operatore = console.readLine(); double risultato=0; String symbol=null; if (operatore.equalsIgnoreCase("somma")) { risultato=primo+secondo; symbol="+"; } else if(operatore.equalsIgnoreCase("sottrazione")) { risultato=primo-secondo; symbol="-"; } else if(operatore.equalsIgnoreCase("divisione")) { risultato=primo/secondo; symbol="/"; } else if(operatore.equalsIgnoreCase("moltiplicazione")) { risultato=primo*secondo; symbol="*"; } System.out.println("Il risultato dell'operazione "+primo+symbol+secondo+" e'\n"+risultato); } catch(IOException e) { System.out.println("Errore di input/output.\nProgramma terminato"); System.exit(1); } } } |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 126
|
Arrrrghhh!
Si vede da schifo postandolo! Te lo allego così si capisce meglio ![]() |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jan 2000
Città: Milano
Messaggi: 1034
|
Quote:
![]() ![]() ![]() |
|
![]() |
![]() |
![]() |
#13 |
Bannato
Iscritto dal: May 2001
Messaggi: 15
|
ohhh
GRaZie tante
![]() cmq nn ho capito alcune cose che ancora devo fare!! nn ti preoccupare domando un po in giro all'università appena ho un problema lo posto cosi mi ridai una mano a ti ridico grazie tante !!!! ora ridevo studiare il codice per capirlo!! sei un amico Bye e a presto!! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:15.