ho creato questo codice che mi dovrebbe fare la domanda e tramite input da tastiera provare a dare la risposta esatta. in base alla risposta avrò una risposta se è esatta o sbagliata.
codice:public class Domande { private final String PRIMA_DOMANDA = "Quanti scudetti ha vinto l'AS Roma?"; private final String SECONDA_DOMANDA = "Quanti anni ha Lorella Cuccarini?"; private final String TERZA_DOMANDA = "Quanto vive mediamente un gatto?"; private final String QUARTA_DOMANDA = "Quanto è alto il grattacielo di Cesenatico?"; private final String QUINTA_DOMANDA = "Quanti abitanti ha roma?"; private final String SESTA_DOMANDA = "Quanto è la distanza minima all'incirca tra la terra e marte?"; private final String SETTIMA_DOMANDA = "Quanti mondiali costruttori ha vinto la Ferrari?"; private final String OTTAVA_DOMANDA = "Quanto è il record del salto in lungo?"; public String getPRIMA_DOMANDA() { return PRIMA_DOMANDA; } public String getSECONDA_DOMANDA() { return SECONDA_DOMANDA; } public String getTERZA_DOMANDA() { return TERZA_DOMANDA; } public String getQUARTA_DOMANDA() { return QUARTA_DOMANDA; } public String getQUINTA_DOMANDA() { return QUINTA_DOMANDA; } public String getSESTA_DOMANDA() { return SESTA_DOMANDA; } public String getSETTIMA_DOMANDA() { return SETTIMA_DOMANDA; } public String getOTTAVA_DOMANDA() { return OTTAVA_DOMANDA; } }codice:public class RisposteDomandaA extends TestRisposta{ private String risposta; public static final RisposteDomandaA RISPOSTA_UNO = new RisposteDomandaA ("4"); public static final RisposteDomandaA RISPOSTA_DUE = new RisposteDomandaA ("5"); public static final RisposteDomandaA RISPOSTA_TRE = new RisposteDomandaA ("3"); public static final RisposteDomandaA RISPOSTA_QUATTRO = new RisposteDomandaA ("6"); private RisposteDomandaA(String risposta) { this.risposta = risposta; } public String getRisposta() { return risposta; } }il problema è nella classe TestRisposta e precisamente negli if. se vedo l'errore mi dice:codice:import java.util.Scanner; public class TestRisposta { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Domande dom = new Domande(); String stringa = ""; //String uno = dom.getPRIMA_DOMANDA(); System.out.println(dom.getPRIMA_DOMANDA()); System.out.println("4\t"+"5\t\n"+"3\t"+"6\t"); System.out.println("Digita la risposta esatta e premi enter, oppure scrivi \"fine\" per terminare il programma."); while(!(stringa = scanner.next()).equals("fine")) { try { verificaRisposta(stringa); }catch (Exception ex) { ex.printStackTrace(); } } System.out.println("Fine programma!"); } public static void verificaRisposta(String stringa){ if(stringa =RisposteDomandaA.RISPOSTA_UNO) { System.out.println("Risposta errata!!!"); } else if (stringa = RisposteDomandaA.RISPOSTA_DUE){ System.out.println("Risposta errata!!!"); }else if (stringa = RisposteDomandaA.RISPOSTA_TRE){ System.out.println("Risposta esatta!!!"); }else if (stringa = RisposteDomandaA.RISPOSTA_QUATTRO){ System.out.println("Risposta errata!!!"); } } }
type mismatch:cannot convert from String to Boolean e cannot convert RisposteDomandaA to String.

Rispondi quotando

... ora non ho più errori..però ho un'altro problema. inserisco la risposta che è il valore scelto e non dà nessun risultato. perchè????
. però vorrei un chiarimento sul funzionamento di scanner.nextLine() grz. non conosco questo...
