Quizspiel programieren. Welche Schleife? Wie kann ich meinen Fehler debuggen?

Hallo,

und zwar muss ich für einen Java Kurs eine Aufgabe programmieren, komme allerdings nicht weiter, da bei der Richtigen Eingabe der Hauptstadt das Fenster aufpoppt das sagt "Stadt X ist flasch. Stadt Y wäre richtig". Kann mir einer helfen?

Aufgabe

In diesem Aufgabenteil realisierst du ein Quiz mit User-Interface. Die Aufgabe kannst du in Eclipse lösen. Die Abgabe erfolgt wie bei den Praxisteilen durch die Abgabe der Java-Datei. Erstelle in Java ein neues Projekt mit dem Namen Hauptstadtquiz. Füge dem Projekt die Klasse Country hinzu und kopiere den folgenden Programmcode in die Klasse:

public class Country {
   public String land;
   public String hauptstadt;
	
   public Country(String land, String hauptstadt) {
      this.land = land;
      this.hauptstadt = hauptstadt;
   }
}

Füge dem Projekt eine weiter Klasse mit dem Namen Main hinzu und kopiere den folgenden Programmcode in die Klasse:

import java.util.ArrayList;
import javax.swing.*;

public class Main {
   public static void main(String[] args) {
      ArrayList<Country> countries = new ArrayList<Country>();
      countries.add(new Country("Schweiz","Bern"));
      countries.add(new Country("Frankreich","Paris"));
      countries.add(new Country("Deutschland","Berlin"));
      countries.add(new Country("Italien","Rom"));
      countries.add(new Country("Österreich","Wien"));
		
      // TODO: GUI und Spiellogik implementieren
     for (int i = 0; i < 5; i++) {
String name = JOptionPane.showInputDialog(null,"Wie lautet die Hauptstadt von " + countries.get(i).land + "?","Hauptstadtquiz",JOptionPane.PLAIN_MESSAGE);	
    
      if (name == null) {
JOptionPane.showMessageDialog(null,"Die Frage wurde übersprungen.","Hauptstadtquiz",JOptionPane.ERROR_MESSAGE); break; 
// funktioniert 
        
} else if (name != null ) {
JOptionPane.showMessageDialog(null, name + " ist falsch. Richtig wäre " + countries.get(i).hauptstadt + ".","Hauptstadtquiz",JOptionPane.WARNING_MESSAGE);
//funktioniert

} else if ((countries.get(i).hauptstadt).equals(name)) {
JOptionPane.showMessageDialog(null, countries.get(i).hauptstadt + " ist richtig.", name, JOptionPane.DEFAULT_OPTION);	
//funktioniert nicht 
              }
           }
        }

Im Prinzip sollen Fenster aufpoppen Die zb Fragen "Was ist die Haupt der Schweiz". In Folgedessen soll ein nächstes Fenster aufpoppen wo man Seine Antwort eingeben kann. Gibt man zB Bern ein soll ein nächstes Fenster aufpoppen mit "Bern ist richtig." Falls die Antwort falsch ist soll ein Fenster mit "Zürich ist falsch. Bern wäre richtig" aufkommen. Weiß jemand warum bei mir bei richtiger Antwort immer noch das Fenster mit "Stadt X ist falsch. Stadt X wäre richtig" aufkommt? Vielen Dank!!!

Schleifen, Softwareentwicklung
C# Aus der While Schleife & Switch rauskommen?

servus,

ich habe versucht die Grundlage für den Münzeneinwurf zu coden, kann aber nicht aus der Schleife rauskommen, da immer wenn ich Enter drücke, was dafür sorgen soll, dass die Schleife endet, jedesmal 10 Cent zum Guthaben addiert werden.

Code:

while (choosedCoin.Key != ConsoleKey.Enter)
            {
                    switch (choosedCoin.Key)
                    {
                        case ConsoleKey.F3:
                         depositedAmount = depositedAmount + 200;
                         Console.WriteLine("|  Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F4:
                         depositedAmount = depositedAmount + 100;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F5:
                         depositedAmount = depositedAmount + 50;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F6:
                         depositedAmount = depositedAmount + 20;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F7:
                         depositedAmount = depositedAmount + 10;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F8:
                         depositedAmount = depositedAmount + 5;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F9:
                         depositedAmount = depositedAmount + 2;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                        case ConsoleKey.F10:
                         depositedAmount = depositedAmount + 1;
                         Console.WriteLine("Your current Credit: {0} €  ", depositedAmount/100);
                            break;

                    default:
                       Console.WriteLine("\n");
                       Console.Write("# Unidentified Key, try again! ");
                            break;
                    }
                    DepositCoin(Console.ReadKey());              
            }
Schleifen, C Sharp, Programmiersprache, Switch, Loop
Python-If abbrechen?

Hallo, ich habe in Python das Spiel "Schere, Stein, Papier" programmiert. Also ein Spieler, spielt gegen einen Computer.

Es funktioniert alles, aber wenn der Sonderfall auftritt, dass der Spieler und der Computer das Selbe haben, möchte ich, dass die If aufhört und wieder zum Schleifenanfang springt. Wie geht das?

print('Schere, Stein oder Papier? Spiele gegen einen Computer und versuche zu gewinnen! (Schere = s / Stein = r / Papier = p)')

# gibt True zurück, wenn der Spieler gewonnen hat, ansonsten False
def is_player_win(player, opponent):
    if ((player == 'r' and opponent == 's')
        or (player == 's' and opponent == 'p')
        or (player == 'p' and opponent == 'r')
        or (player == opponent)):
        return True
    else:
        return False

counter_user = 0
counter_computer = 0


for i in range(10):
    x = input('Wähle r, s oder p?: ')
    y = random.choice(['r', 's', 'p'])
    player_wins = is_player_win(x, y)
    
#UM DIESE IF GEHT ES!
    if x == y:
        print(f'Unentschieden! Computer: {y}')
        counter_user += 1
        counter_computer += 1
#---------------------------------------

    if player_wins:
        print(f'Spieler hat gewonnen! Computer: {y}')
        counter_user += 1

    else:
        print(f'Computer hat gewonnen! Computer: {y}')
        counter_computer += 1

    if i == 9:
        print('')
        print(f'Punkte Computer: {counter_computer} / Punkte Spieler: {counter_user}')

        if counter_computer == counter_user:
            print(f'Ergebnis: Unentschieden!')

        elif counter_computer > counter_user:
            print(f'Ergebnis: Sieg für den Computer!')
            
        else:
            print(f'Ergebnis: Sieg für den Spieler!')  
Schleifen, Programmiersprache, Python, If
Wie gebe ich bei PHP mehrere Bedingungen in einer Schleife ein?

Hallo,

ich möchte gerne 2 Bedingungen in einer PHP for – Schleife unterbringen.

Dazu habe ich mich an diese Anleitung gehalten und die beiden Bedingungen mit dem && Operator verknüpft.

https://www.php.de/forum/webentwicklung/php-einsteiger/php-tipps-2006/41760-while-schleife-mit-mehreren-bedingungen

Trotzdem bekomme ich ständig die Fehlermeldung, das PHP kein ; (Strichpunkt) erwartet, sondern eine schließende runde Klammer.

Mein Editor zeigt mir den Fehler in der zweiten for – Schleife bei der Variablen $tageszahl an. Dort wird der Strichpunkt bemängelt.

Desweiteren habe ich versucht, beide Bedingungen zusätzlich in runde Klammern zu setzten. Da wird dann außer dem Strichpunkt auch noch der && Operator bemängelt.

Hier ist mein Code:

        <table border="1">
            <tr>
                <th>Mo</th>
                <th>Di</th>
                <th>Mi</th>
                <th>Do</th>
                <th>Fr</th>
                <th>Sa</th>
                <th>So</th>
            </tr>
        <?php 
            
            $reihen = 6;
            $zellen = 7; 
            $enddatum_monat = date("t");
            
            for($tr = 1; $tr <= $reihen; $tr++ ) {
                echo "<tr>";
                for($td = 1; $td <= $zellen; $td++ && $tageszahl = 1; $tageszahl <= $eintrag; $tageszahl++)  {
                    echo "<td> $tageszahl </td>"; 
                }
                
                echo "</tr>";
            }           

        ?>
        </table>

Es wäre nett, wenn mir jemand zeigen würde, wie mehrere Bedingungen korrekt in einer Schleife untergebracht werden.

Danke

Computer, programmieren, Schleifen, PHP
Java mehrer Interatoren?

Erstmal Hallo,

ich muss für eine Aufgabe ein Programm schreiben:

package aufgabe11;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;


public class TeilaufgabeA {

	public static void main(String[] args) {
		
		ArrayList<String> mylist = new ArrayList<String>();
		
		mylist.add("Mein");
		mylist.add("kleiner");
		mylist.add("grüner");
		
		for(int i = 0 ; i < args.length; ++i) { // hier sollen die Kommandozeilenparamter von von hinten aus angehängt werden , also "Kaktus" , "steht".....
			mylist.add(args[args.length - i - 1]);
		}
		if(!mylist.contains("Hollari")) {
			mylist.add("Hollari");
		}else if(!mylist.contains("hollari")) {
			mylist.add("hollari");
		}else if(!mylist.contains("hollaro")) {
			mylist.add("hollaro");
		}
		
		 Iterator<String> iter = mylist.iterator(); 
	     while (iter.hasNext()) { 
	         String s = iter.next(); 
	         if(s.equals(",")) mylist.remove(s);//die Kommas sollen entfernt werden
	     }
	     
	     int size = mylist.size() - 5;
	     for(ListIterator<String> lif = mylist.listIterator(size); lif.hasNext(); ) {
	    	 String k = lif.next(); //die einzelenen Strings sollen ausgegeben werden
	    	 System.out.print(k);
	     }


	}
}

Nun bekomme ich Exeption bei " String s = iter.next(); " mit der Kommandozeilenparamtereingabe : " "Balkon" , "am" , "draußen" , "steht" , "Kaktus" "

------------------------- Frage: Warum bekomme ich hier eine Exeption ? --------------------

Gruß

Computer, programmieren, Schleifen, Java, Informatik
Welche Marke hat welche Reputation bei Werkzeugen?

Ich ziehe von einer Wohnung in ein Haus, werde eine Werkstatt haben und auch genug zu renovieren und heimwerken. Ich werde im Zuge dessen auch diverses Werkzeug anschaffen und informiere mich jetzt schon einige Zeit über diverse Werkzeuge und Gerätschaften.

Meine bisherigen, persönlichen Erfahrungen haben mich gelehrt, dass Werkzeuge wirklich eines der wenigen Dinge sind, bei denen man nicht sparen und Qualität an erste Stelle setzen sollte. Nur leider heißt in der Realität der Umkehrschluss nicht, dass alles was teuer ist, auch gut ist.

Um die Frage ein wenig einzugrenzen, beziehe ich mich jetzt nur auf elektrisch betriebene Geräte, wie Schleifen, Sägen, Akkubohrer, etc. Mir kommen dabei immer die gleichen Marken unter, wie Einhell, Bosch, Makita etc.

Meine Frage nun: Kann man grundsätzlich eine Einschätzung über das Gerät anhand der Marke geben? (So wie bei Autos - z.B. Ferraris sind immer schnell und hochmotorisiert, Dacias haben immer veraltete Technik, etc.) Oder kann es sein, dass ein Einhell-Boher der absolute Kack ist, während ein anderer Einhell-Bohrer das Gelbe vom Ei ist? Gibt es eine Marke, die Qualität garantiert? Oder bieten alle etwas für jedes Budget (in jeder Qualitätsstufe) an? Kann man sicher sein, dass Bosch gut ist, weil Bosch drauf steht?

Glaubhafte Meinungen finde ich per Google keine. Alles scheint von den Herstellern selbst zu sein, oder von ihnen gesponsert, oder von ihnen unterstützt.

Danke vorab für eure Antworten und Erfahrungen!

heimwerken, Technik, Heimwerker, Schleifen, Werkstatt, Werkzeug, Bauarbeiten, Elektrogeräte, Holzbearbeitung

Meistgelesene Fragen zum Thema Schleifen