Programma principiante (ripetizione main)

di il
2 risposte

Programma principiante (ripetizione main)

Salve,

ho iniziato da pochissimo a studiare java. Ho provato a scrivere una classe che ripeta il main se scrivo "si",
ma faccio qualche errore che non riesco a capire.
Posto di seguito il codice:

import java.util.*;

public class Ripeti {

public static void main (String []args) {

Scanner input = new Scanner (System.in);

do {

System.out.println("u");
System.out.println("Vuoi ripetere l'operazione?");
String risp = input.nextLine ();

} while (risp == "si"); // end of do-while


}
}



Questo è l'errore che mi segnala quando provo a farlo partire:


Compile "C:\Users\User pc\Desktop\programmazione\Ripeti.java" with Java-Compiler
Ripeti.java:15:14: error: cannot find symbol
} while (risp == "si"); // end of do-while
^
symbol: variable risp
location: class Ripeti
1 error



Grazie in anticipo per l'aiuto

2 Risposte

  • Re: Programma principiante (ripetizione main)

    EmiDaleo ha scritto:


    Compile "C:\Users\User pc\Desktop\programmazione\Ripeti.java" with Java-Compiler
    Ripeti.java:15:14: error: cannot find symbol
    } while (risp == "si"); // end of do-while
    ^
    symbol: variable risp
    location: class Ripeti
    1 error
    Innanzitutto il problema tecnico: la variabile risp esiste ed è accessibile solo all'interno del blocco { } (e chiaramente solo dal quel punto dove definita in avanti). In sostanza, NON è usabile nella condizione del while. Banalmente, sposta la dichiarazione di risp.

    Seconda cosa, comunque importante: il contenuto delle stringhe (e degli oggetti in generale) non si compara con == ma con equals().
  • Re: Programma principiante (ripetizione main)

    Grazie..
    ha funzionato
Devi accedere o registrarti per scrivere nel forum
2 risposte