Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347

    Aiuto per giochino in java

    ciao! stavo provando a creare un giochino(una sorta di quiz a punteggio), e ho iniziato così:
    codice:
    import java.util.Scanner;
    public class Quiz{
    	public static void main(String args[]){
    		Scanner read = new Scanner(System.in);
    		int punteggio = 0;
    		String a;
    		System.out.print("Quanto durò la guerra dei cent'anni?");
    		System.out.print("A) 116");
    		System.out.print("B) 100");
    		System.out.print("C) 99");
    		System.out.print("D) 150");
    		a = read.nextLine();
    		if(a = "a"){
    			p = p+1;
    			System.out.print("Risposta esatta! Il tuo punteggio è: " + p);
    		}
    		else
    			System.out.print("Risposta sbagliata... il tuo punteggio resta a " + p);
    
    
    	}
    }
    ora, avrei un paio di cose da chiedere:
    1) si può aggiornare la stringa a come si fa ad esempio con un int?
    2) il codice, se volessi inserire altre domande, diventerebbe pesante... come faccio a fare una cosa un po più "carina"?? XD
    premetto che(come ho detto in qualche topic creato precedentemente) sto cominciando a studiare java all'università quindi per ora abbiamo fatto argomenti elementari: lo scanner, i cicli, la condizionale, cicli contenenti altri cicli... e le stringhe che ho fatto da me XD

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    questo è il codice giusto:
    codice:
    import java.util.Scanner;
    public class Quiz{
    	public static void main(String args[]){
    		Scanner read = new Scanner(System.in);
    		int punteggio = 0;
    		String a;
    		System.out.println("Quanto durò la guerra dei cent'anni?");
    		System.out.println("a) 116");
    		System.out.println("b) 100");
    		System.out.println("c) 99");
    		System.out.println("d) 150");
    		System.out.print("Inserire risposta: ");
    		a = read.nextLine();
    		if(a == "a"){
    			punteggio = punteggio + 1;
    			System.out.println("Risposta esatta! Il tuo punteggio è: " + punteggio);
    		}
    		else
    			System.out.println("Risposta sbagliata... il tuo punteggio resta a " + punteggio);
    
    
    	}
    }
    però non funziona nemmeno così...
    l'errore è nella condizione dell'if ma non capisco come fare...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    le stringhe si confrontano con equals() non con ==

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    e come si usa? cioè nel mio caso che devo scrivere nell'if?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    a.equals("quello che vuoi")

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    GRAZIE
    avevo fatto anche un'altra domanda: il codice, se volessi inserire altre domande, diventerebbe pesante... come faccio a fare una cosa un po più "carina"?? XD
    sapresti aiutarmi?

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    si, potresti memorizzare le domande-risposte, ognuna in un metodo, che restituisca anche un char con la risposta corretta. Poi crei a parte un metodo esaminaRispostaAssegnaPunti che fa esattamente ciò....se vuoi dare a ogni risposta un punteggio diverso, potresti far restituire al posto che un char una stringa tipo "a 4", "b 2" che poi spezzetti, e utilizzi. Fallo e vedrai che ti verra tutto naturale, con la divisione in metodi.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    non ho capito niente XD scusami! abbiamo appena iniziato a creare metodi e per ora solo quelli nella classe stessa

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    quindi prima cosa da fare, studia i metodi : ) e poi dividi il tuo programma in piu parti con i metodi. Si fa sempre cosi per ridurre la dimensione del codice complessivo : )

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    347
    ok magari più avanti capirò! grazie lo stesso dell'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.