mercredi 22 avril 2015

else in if umschreiben

Hallo,

ich habe eine verständnisfrage zu einem Programm. Hier ist es:


Java Code:

  1. import java.util.*;
  2.  
  3. class lol
  4. {
  5. public static void main ( String[] args )
  6. {
  7. // Deklarieren und Initialisieren
  8. final int ENDSTAND = 10;
  9. Scanner scan = new Scanner( System.in );
  10. Random rand = new Random();
  11. int spielerscore = 0, computerscore = 0;
  12. int spielerwurf, computerwurf;
  13.  
  14. // Runden spielen, bis einer der Spieler den ENDSTAND erreicht hat
  15. while ( spielerscore < ENDSTAND && computerscore < ENDSTAND )
  16. {
  17. // Computer wirft
  18. computerwurf = rand.nextInt(6)+1 + rand.nextInt(6)+1 ;
  19. System.out.println("Der Computer wirft: " + computerwurf);
  20.  
  21. // Spieler wirft
  22. System.out.print("1 -> 11-seitiger Wuerfel 2 -> 6-seitiger Wuerfel (1 oder 2)? ");
  23. String wuerfeltyp = scan.nextLine();
  24.  
  25. if ( wuerfeltyp.equals("1") )
  26. {
  27. spielerwurf = rand.nextInt(11)+2 ;
  28. System.out.println("Sie werfen 1 Wuerfel und haben: " + spielerwurf );
  29. }
  30. else
  31. {
  32. spielerwurf = rand.nextInt(6)+1 + rand.nextInt(6)+1 ;
  33. System.out.println("Sie werfen 2 Wuerfel und haben: " + spielerwurf );
  34. }
  35.  
  36. // Gewinner der Runde bestimmen und den Score anpassen
  37. if ( spielerwurf > computerwurf )
  38. {
  39. spielerscore = spielerscore + 1;
  40. System.out.println("Sie haben die Runde gewonnen!");
  41. }
  42. if (spielerwurf == computerwurf)
  43. {
  44. computerscore = computerscore + 0;
  45. spielerscore = spielerscore + 0;
  46. System.out.println("Gleichstand");
  47. }
  48. if (spielerwurf < computerwurf)
  49. {
  50. computerscore = computerscore + 1;
  51. System.out.println("Sie haben die Runde verloren!");
  52. }
  53. System.out.println("Score: Computer " + computerscore + ", Sie " + spielerscore + "\n");
  54. }
  55.  
  56. // Gewinner des Spiels bestimmen
  57. System.out.println("Endstand: Computer " + computerscore + ", Sie " + spielerscore);
  58.  
  59. if ( computerscore > spielerscore )
  60. System.out.println("Der Computer hat das Spiel gewonnen!");
  61. else
  62. System.out.println("Sie haben das Spiel gewonnen!");
  63.  
  64. }
  65. }



ich möchte aus dem ersten else ein if machen: if ( wuerfelwurf.equals("2") ), aber der compiler gibt dann aus, dass die Variable spielerwurf noch nicht initialisiert wurde.
Wenn das else ein else bleibt, dann funktioniert alles.


else in if umschreiben

0 commentaires:

Enregistrer un commentaire