Java – die neusten Beiträge

Schere, Stein, Papier in Java, was mache ich falsch?

Ich soll ein S, S, P - Spiel in Java machen, wobei man quasi gegen das Programm spielt. Solange man sich für Stein entscheidet läuft auch alles ohne Probleme, allerdings funktioniert es nicht, wenn man Schere oder Papier nimmt. Eclipse liefert mir auch keine Fehlermeldung, nach der Eingabe meiner Wahl, passiert einfach nichts mehr. Irgendjemand der sich mit Java auskennt und weiss, wo mein Fehler liegt?

Danke im Voraus, unten findet ihr den Code.

package zufallsspiel;

import java.util.Random;

import java.util.Scanner;

public class Bonus2 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.println("Wie ist dein Name?");

String name = s.nextLine();

System.out.println("Nimmst du 1=Stein, 2=Papier oder 3=Schere?");

String wahl = s.nextLine();

int wahl2 = Integer.parseInt(wahl);

Random zufall = new Random();

int zufallszahl = zufall.nextInt(2+1) + 1;

if(wahl2 == 1) {

System.out.println("Du nimmst Stein");

if (zufallszahl == 1) {

System.out.println("Ich nehme Stein");

System.out.println("Unentschieden!");

}

if (zufallszahl == 2) {

System.out.println("Ich nehme Papier");

System.out.println("Ich gewinne!");

}

if (zufallszahl == 3) {

System.out.println("Ich nehme Schere");

System.out.println("Du gewinnst!");

}

else if(wahl2 == 2) {

System.out.println("Du nimmst Papier");

if (zufallszahl == 1) {

System.out.println("Ich nehme Stein");

System.out.println("Du gewinnst!");

}

if (zufallszahl == 2) {

System.out.println("Ich nehme Papier");

System.out.println("Unentschieden!");

}

if (zufallszahl == 3) {

System.out.println("Ich nehme Schere");

System.out.println("Ich gewinne!");

}

else {

System.out.println("Du nimmst Schere");

if (zufallszahl == 1) {

System.out.println("Ich nehme Stein");

System.out.println("Ich gewinne!");

}

if (zufallszahl == 2) {

System.out.println("Ich nehme Papier");

System.out.println("Du gewinnst!");

}

if (zufallszahl == 3) {

System.out.println("Ich nehme Schere");

System.out.println("Unentschieden!");

}

}

}}}}

Computer, programmieren, Java

In BlueJ Array durchsuchen?

Ich möchte eine Array-Liste mit CDs, die mit Titel, Autor und Erscheinungsjahr gespeichert werden, durchsuchen (mit dem Erscheinungsjahr). Das Programm soll unabhängig vom Inhalt ablaufen. Es soll also nicht ein gespeichertes Erscheinungsjahr im Programm benutz werde. Ich habe schon etwas programmiert und bekomme auch keine Fehlermeldung. Allerdings wird mir in der Konsole dann garnichts mehr angezeigt.

Vielen Dank schon mal im Voraus. :)

public void suchenMitErscheinungsjahr(int pErscheinungsjahr)

   {

       boolean gefunden = false;

       if (cdanzahl !=0)

       {

           for (int i=1; i<cdanzahl; i++)

           {

               if (cdSammlung[i].equals(pErscheinungsjahr))

               {

                   System.out.println(cdSammlung[i].gibTitel());

                   System.out.println(cdSammlung[i].gibInterpret());

                   System.out.println(cdSammlung[i].gibErscheinungsjahr());   

                   gefunden = true;

               }

           }

       }

       else

       {

           System.out.println("Das CD-Regal ist leer!");

       }

       

       if (gefunden = false)

       {

           System.out.println("Eine CD mit diesem Erscheinungsjahr existiert nicht im Regal!");

       }

   }

Computer, Schule, programmieren, Java, BlueJ, Informatik

Array-Liste alphabetisch sortieren in BlueJ?

Ich möchte eine Array-Liste mit CDs, die mit Titel, Autor und Erscheinungsjahr gespeichert werden, alphabetisch (nach Titel) sortieren (das Programm soll unabhängig vom Inhalt ablaufen. Es soll also nicht ein gespeicherter Titel im Programm benutz werden). In der if-Anweisung wird mir beim > eine Fehlermeldung angezeigt, was ja sinnvoll ist, da ein String ja nicht > als ein andere sein kann. Ich weiß allerdings nicht, was ich stattdessen schreiben soll.

Vielen Dank schonmal im Voraus.

public void sortiernNachTitel()

   {

       cd temp;

       for(int i=1; i<cdanzahl; i++)

       {

           for(int j=0; j<cdanzahl-i; j++)

           {

               if(cdSammlung[j].gibTitel()>cdSammlung[j+1].gibTitel())

               {

                   temp=cdSammlung[j];

                   cdSammlung[j]=cdSammlung[j+1];

                   cdSammlung[j+1]=temp;

               }

           }

       }

       for( int a=0; a<cdanzahl; a++)

       {

           System.out.println(cdSammlung[a].gibTitel());

           System.out.println(cdSammlung[a].gibInterpret());

           System.out.println(cdSammlung[a].gibErscheinungsjahr());

       }

   }

Computer, Schule, programmieren, Java, Array, BlueJ, Informatik

Meistgelesene Beiträge zum Thema Java