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;
}
}
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!!!");
}
}
}
il problema è nella classe TestRisposta e precisamente negli if. se vedo l'errore mi dice:
type mismatch:cannot convert from String to Boolean e cannot convert RisposteDomandaA to String.