Ciao, volevo condividere e vedere se si poteva migliorare la calcolatrice che ho scritto:
qui c'è il clientcodice:package com.calcolatrice; class Calcolatrice { private double risultato; protected String stringa; public int somma(int num_1, int num_2) { risultato = num_1 + num_2; stringa = "somma"; return (int)risultato; } public int differenza(int num_1, int num_2) { risultato = num_1 - num_2; stringa = "differenza"; return (int)risultato; } public int moltiplicazione(int num_1, int num_2) { risultato = num_1 * num_2; stringa = "moltiplicazione"; return (int)risultato; } public double divisione(int num_1, int num_2) { if(num_2 == 0) { System.out.println("l'operzione è impossibile: il divisore è uguale a 0. Riprovare"); } else { risultato = num_1 / num_2; stringa = "divisione"; } return risultato; } public double potenza(int num_1, int num_2) { if(num_2 == 0) { risultato = 1; } else { risultato = 1; for(int i = 0; i < num_2; i++) { risultato = risultato * num_1; } } stringa = "potenza"; return risultato; } }
codice:package com.calcolatrice; class Calcolatrice_Client { public static void main(String[] args) { Calcolatrice action = new Calcolatrice(); int a = (int)(Math.random()*100); int b = (int)(Math.random()*100); while(true) { int operazione = (int)(Math.random()*10); if( operazione < 6 && operazione != 0 ) { String stringa = action.stringa; long result; switch(operazione) { case 1: result = (long)action.somma(a, b); stringa = action.stringa; System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result ); break; case 2: result = (long)action.differenza(a, b); stringa = action.stringa; System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result ); break; case 3: result = (long)action.moltiplicazione(a, b); stringa = action.stringa; System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result ); break; case 4: result = (long)action.divisione(a, b); stringa = action.stringa; System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result ); break; case 5: b = (int)(Math.random()*10); result = (long)action.potenza(a, b); stringa = action.stringa; System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result ); break; default: System.out.println("Il numero dell'operazione: " + operazione); } break; } } } }

Rispondi quotando