Calcolatrice Java

di il
6 risposte

Calcolatrice Java

Salve ragazzi, avrei un problema riguardo alla calcolatrice java. Il mio problema sarebbe: come mettere il costrutto do while per far sì che appena mi da il risultato tra l'operazione delle due variabili mi continua a eseguire il programma finché non metto come input 0. Ecco a voi il mio programma, vi ringrazio per l'aiuto.


import java.util.Scanner;
public class Calcolatrice {
public static void main(String[] args) {
int operazione;
Scanner scan = new Scanner(System.in);
System.out.println("Scegliere il tipo di operazione:");
System.out.print("Inserire 1 per l'addizione, 2 per la sottrazione, 3 per la moltiplicazione, 4 per la divisione, 0 per uscire: ");
operazione = scan.nextInt();
switch (operazione) {
case 1: {
double numero,numero1, risulato;
System.out.print("Inserire primo numero: ");
numero = scan.nextDouble();
System.out.print("Inserire secondo numero: ");
numero1 = scan.nextDouble();
risulato = numero+numero1;
System.out.print("Risultato: "+ risulato);
break;
}
case 2: {
double numero,numero1, risulato;
System.out.print("Inserire primo numero: ");
numero = scan.nextDouble();
System.out.print("Inserire secondo numero: ");
numero1 = scan.nextDouble();
risulato= numero-numero1;
System.out.print("Risultato: "+ risulato);
break;
}
case 3: {
double numero,numero1, risultato;
System.out.print("Inserire primo numero: ");
numero = scan.nextDouble();
System.out.print("Inserire secondo numero: ");
numero1 = scan.nextDouble();
risultato = numero * numero1;
System.out.print("Risultato: "+ risultato);
break;
}
case 4: {
double numero,numero1, risultato;
System.out.print("Inserire primo numero: ");
numero = scan.nextDouble();
System.out.print("Inserire secondo numero: ");
numero1 = scan.nextDouble();
risultato= numero/numero1;
System.out.print("Risultato: "+ risultato);
break;
}
default :
System.out.print("Uscita programma");
}
}
}

6 Risposte

  • Re: Calcolatrice Java

    Beh, metti un while prima Scanner scan = new Scanner(System.in);
    modificanto l'inizializzazione di operazione ad esempio
    
    int operazione=-1;
    while (operazione!=0) {
       Scanner scan = new Scanner(System.in);
    ecc.ecc.
    
    invece uan cosa più fica...... come si fa a cancellare la console. Ancora non sono arrivato a tutti i metodi della classe System. penso ci sia un metodo qui!
    ah , uso eclipse.
  • Re: Calcolatrice Java

    tagan ha scritto:


    Beh, metti un while prima Scanner scan = new Scanner(System.in);
    No, di Scanner connesso a System.in bisognerebbe crearne solo UNO e basta all'interno della applicazione. Non N in ciclo.

    tagan ha scritto:


    modificanto l'inizializzazione di operazione ad esempio
    
    int operazione=-1;
    while (operazione!=0) {
       Scanner scan = new Scanner(System.in);
    ecc.ecc.
    
    No, per un caso del genere, è più pratico il do-while, perché l'input della scelta lo devi fare almeno una volta.
    int operazione;
    Scanner scan = new Scanner(System.in);
    
    do {
        // ....
        operazione = scan.nextInt();
    
        // ........ tutto il resto
    
        switch (operazione) {
            // ........ tutto il resto
        }
    } while (operazione != 0);

    tagan ha scritto:


    come si fa a cancellare la console.
    Ma che vuol dire .....
  • Re: Calcolatrice Java

    andbin ha scritto:


    tagan ha scritto:


    come si fa a cancellare la console.
    Ma che vuol dire .....
    se ci metti il do while (alemno in eclipse) dopo la prima operazione, nella scheda "Console" dove c'è l'output del programma, ti riscrive il menu di seguito all'ultima operazione fatta.
    intendevo come il comando CLS in DOS. ripulire lo schermo e ristampare tutto.
  • Re: Calcolatrice Java

    tagan ha scritto:


    se ci metti il do while (alemno in eclipse) dopo la prima operazione, nella scheda "Console" dove c'è l'output del programma, ti riscrive il menu di seguito all'ultima operazione fatta.
    E quale sarebbe il problema?

    tagan ha scritto:


    intendevo come il comando CLS in DOS. ripulire lo schermo e ristampare tutto.
    No, non c'è una funzionalità del genere in JavaSE. A meno che sei su una console (es. sui Linux) dove puoi usare le sequenze di escape ANSI (ECMA-48 se non sbaglio).
    E a meno che usi una libreria specifica (qualcosa mi pare si trovi) per gestire la console a "basso" livello.
  • Re: Calcolatrice Java

    andbin ha scritto:


    tagan ha scritto:


    se ci metti il do while (alemno in eclipse) dopo la prima operazione, nella scheda "Console" dove c'è l'output del programma, ti riscrive il menu di seguito all'ultima operazione fatta.
    E quale sarebbe il problema?
    no nessun problema, era una curiosità. ho trovato in internet questo codice per windows ma non funziona
    
        import java.io.IOException;
         
        public class CLS {
            public static void main(String... arg) throws IOException, InterruptedException {
                new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
            }
        }
    
    forse funziona se si avvia un pgm java da promp di windows, non ho provato....boh!
  • Re: Calcolatrice Java

    tagan ha scritto:


    
                new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
    
    Sì, questo funziona. In generale è un po' bruttino perché è fondamentalmente "system dependent".
    Ma devi farlo da un prompt dei comandi/console di Windows. Non certo sulla console di Eclipse (che NON è una "vera" console .... è già tanto che la console di Eclipse sia configurabile nei colori e poco altro ....).
Devi accedere o registrarti per scrivere nel forum
6 risposte