Verzweiflung bei der Logik

hallo, bin neu in java und habe mit müh und not und etwas probieren ein applet a la familienduell gemacht (für schule) doch irgendwo ist ein Großer denkfehler drin. Als ich alles über awt gemacht habe (ohne schöne GUI) hats einigermaßen funktioniert. doch nun als ich das ganze versucht habe in Swing zu machen, ist irgendwo der wurm drin. ich find ihn einfach nicht und hoffe hier kann mir jemand helfen. Also die Fragen laufen über hashmap, und der Computergegner funktioniert. Doch irgendwie macht er bei jeder Benutzer eingabe FALSCHE ANTWORT auch wenns dir richtige ist… vielleicht weiß jemand weiter


public class GUI2 extends javax.swing.JApplet {

    @Override
    public void init() {
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {

                public void run() {
                    initComponents();
                    antwortFeld.setVisible(false);
                    benutzerFalscheAntwortZaehlerLabel.setVisible(false);
                    benutzerGewinnerLabel.setVisible(false);
                    benutzerPunkteLabel.setVisible(false);
                    neuesSpiel.setVisible(false);
                    skynetFalscheAntwortZaehlerLabel.setVisible(false);
                    skynetGewinnerLabel.setVisible(false);
                    skynetPunkteLabel.setVisible(false);
                    antwortButton.setVisible(false);

                }
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

    public int berechneFrageIndex() {
        Object[] frageKeys = fragenUAntworten.fragen.keySet().toArray();
        int randIndex = (int) ((Math.random() * 10) + (Math.random() * 10)) - 1;
        System.out.println(randIndex);
        frageIndex = (Integer) frageKeys[randIndex];
        return frageIndex;
    }

    public void skynet() {
        antwortFeld.setVisible(false);

        falscheAntwortZaehler = 0;
        skynetFalscheAntwortZaehlerLabel.setText(((Integer) falscheAntwortZaehler).toString());
        while (falscheAntwortZaehler < 3 && skynetPunkte <= 50) {
            int antwortIndex = (int) (Math.random() * fragenUAntworten.antworten.get(frageIndex).keySet().size());
            if (antwortIndex == 0) {
                antwortIndex = (int) (Math.random() * fragenUAntworten.antworten.get(frageIndex).keySet().size()) + (int) (Math.random() * fragenUAntworten.antworten.get(frageIndex).keySet().size());
            }


            Object[] keys = fragenUAntworten.antworten.get(frageIndex).keySet().toArray();
            while (keys.length <= antwortIndex) {
                antwortIndex--;
            }

            System.out.println(keys[antwortIndex]);
            anzahlAntwortZurFrage = fragenUAntworten.antworten.get(frageIndex).get(keys[antwortIndex]);

            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            if (anzahlAntwortZurFrage != null && anzahlAntwortZurFrage != 0) {
                skynetPunkte += anzahlAntwortZurFrage;
                if (skynetPunkte >= 50) {
                    System.out.println("Skynet hat gewonnen");
                    skynetGewinnerLabel.setVisible(true);
                    neuesSpiel.setVisible(true);
                }

                skynetPunkteLabel.setText(((Integer) skynetPunkte).toString());
                fragenUAntworten.antworten.get(frageIndex).remove(keys[antwortIndex]);

                Object[] wrongAnswerKeys = fragenUAntworten.antworten.get(frageIndex).keySet().toArray();
                for (Object wrongAnswerKey : wrongAnswerKeys) {
                    if (fragenUAntworten.antworten.get(frageIndex).get(wrongAnswerKey) == 0) {
                        fragenUAntworten.antworten.get(frageIndex).remove(wrongAnswerKey);
                        break;
                    }
                }

                System.out.println("Richtige Antwort");

            } else {
                falscheAntwortZaehler++;
                System.out.println("Falsche Antwort");
                if (falscheAntwortZaehler == 3) {
                    System.out.println("Benutzer übernimmt das Kommando");
                    antwortFeld.setVisible(true);

                }
                skynetFalscheAntwortZaehlerLabel.setText(((Integer) falscheAntwortZaehler).toString());
            }
            antwortFeld.setText("");
        }
        falscheAntwortZaehler = 0;
    }

    public void benutzer() {

        antwort = antwortFeld.getText();

        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        if (antwort == null || antwort.equals("")) {
            falscheAntwortZaehler++;
            System.out.println("Falsche Antwort");
            if (falscheAntwortZaehler == 3) {
                System.out.println("Skynet übernimmt das Kommando");
                benutzerFalscheAntwortZaehlerLabel.setText(((Integer) falscheAntwortZaehler).toString());
                skynet();
            }
            benutzerFalscheAntwortZaehlerLabel.setText(((Integer) falscheAntwortZaehler).toString());
            System.out.println(antwort);
        } else {
            fragenUAntworten.antworten.get(frageIndex).get(antwortFeld.getText());
            if (anzahlAntwortZurFrage != null && anzahlAntwortZurFrage != 0) {
                benutzerPunkte += anzahlAntwortZurFrage;
                if (benutzerPunkte > 50) {
                    System.out.println("Sie haben gewonnen");
                    antwortFeld.setVisible(false);
                    antwortButton.setVisible(false);
                    benutzerGewinnerLabel.setVisible(true);

                }

                benutzerPunkteLabel.setText(((Integer) benutzerPunkte).toString());
                fragenUAntworten.antworten.get(frageIndex).remove(antwortFeld.getText());

                Object[] wrongAnswerKeys = fragenUAntworten.antworten.get(frageIndex).keySet().toArray();
                for (Object wrongAnswerKey : wrongAnswerKeys) {
                    if (fragenUAntworten.antworten.get(frageIndex).get(wrongAnswerKey) == 0) {
                        fragenUAntworten.antworten.get(frageIndex).remove(wrongAnswerKey);
                        break;
                    }

                }

                System.out.println("Richtige Antwort");
            } else {
                falscheAntwortZaehler++;
                System.out.println("Falsche Antwort");


                if (falscheAntwortZaehler == 3) {
                    System.out.println("Skynet übernimmt das Kommando");
                    benutzerFalscheAntwortZaehlerLabel.setText(((Integer) falscheAntwortZaehler).toString());
                    skynet();
                }
                benutzerFalscheAntwortZaehlerLabel.setText(((Integer) falscheAntwortZaehler).toString());

            }
            antwortFeld.setText("");
        }
    }

    /** This method is called from within the init() method to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        startButton = new javax.swing.JButton();
        neuesSpiel = new javax.swing.JButton();
        familienDuellLabel = new javax.swing.JLabel();
        benutzerPunkteLabel = new javax.swing.JLabel();
        skynetPunkteLabel = new javax.swing.JLabel();
        skynetGewinnerLabel = new javax.swing.JLabel();
        benutzerGewinnerLabel = new javax.swing.JLabel();
        benutzerFalscheAntwortZaehlerLabel = new javax.swing.JLabel();
        skynetFalscheAntwortZaehlerLabel = new javax.swing.JLabel();
        antwortFeld = new javax.swing.JTextField();
        frageLabel = new javax.swing.JLabel();
        antwortButton = new javax.swing.JButton();

        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setStub(null);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel1.setBackground(new java.awt.Color(0, 0, 0));

        startButton.setBackground(new java.awt.Color(255, 255, 51));
        startButton.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        startButton.setText("Startfrei zum Duell");
        startButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                startButtonActionPerformed(evt);
            }
        });

        neuesSpiel.setText("New Game");
        neuesSpiel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                neuesSpielMouseReleased(evt);
            }
        });

        familienDuellLabel.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
        familienDuellLabel.setForeground(new java.awt.Color(255, 255, 0));
        familienDuellLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        familienDuellLabel.setText("Familienduell");

        benutzerPunkteLabel.setForeground(new java.awt.Color(255, 255, 0));
        benutzerPunkteLabel.setText("0");

        skynetPunkteLabel.setForeground(new java.awt.Color(255, 255, 0));
        skynetPunkteLabel.setText("0");

        skynetGewinnerLabel.setForeground(new java.awt.Color(255, 255, 0));
        skynetGewinnerLabel.setText("skynet gewinnt");

        benutzerGewinnerLabel.setForeground(new java.awt.Color(255, 255, 0));
        benutzerGewinnerLabel.setText("Benutzer Gewinnt");

        benutzerFalscheAntwortZaehlerLabel.setForeground(new java.awt.Color(255, 255, 0));
        benutzerFalscheAntwortZaehlerLabel.setText("0");

        skynetFalscheAntwortZaehlerLabel.setForeground(new java.awt.Color(255, 255, 0));
        skynetFalscheAntwortZaehlerLabel.setText("0");

        antwortFeld.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        antwortFeld.setText("Hier Antwort eingeben ");

        frageLabel.setForeground(new java.awt.Color(255, 255, 0));
        frageLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        antwortButton.setBackground(new java.awt.Color(255, 255, 0));
        antwortButton.setText("Antworten");
        antwortButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                antwortButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout j.....
        );

        getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
    }// </editor-fold>

    private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        startButton.setVisible(false);
        fragenUAntworten = new FragenUndAntworten();
        frageLabel.setText(fragenUAntworten.fragen.get(berechneFrageIndex()));
        antwortFeld.setVisible(true);
        benutzerFalscheAntwortZaehlerLabel.setVisible(true);
        benutzerPunkteLabel.setVisible(true);
        /*neuesSpiel.setVisible(false);*/
        antwortButton.setVisible(true);
        skynetFalscheAntwortZaehlerLabel.setVisible(true);
        skynetPunkteLabel.setVisible(true);
    }                                           

    private void neuesSpielMouseReleased(java.awt.event.MouseEvent evt) {
        fragenUAntworten = new FragenUndAntworten();
        frageLabel.setText(fragenUAntworten.fragen.get(berechneFrageIndex()));
        antwortFeld.setVisible(true);
        antwortButton.setVisible(true);
        benutzerPunkteLabel.setText("0");
        skynetGewinnerLabel.setVisible(false);
        benutzerGewinnerLabel.setVisible(false);
        benutzerPunkte = 0;
        skynetPunkteLabel.setText("0");
        skynetPunkte = 0;
        benutzerFalscheAntwortZaehlerLabel.setText("0");
        falscheAntwortZaehler = 0;
        skynetFalscheAntwortZaehlerLabel.setText("0");  // TODO add your handling code here:
    }

    private void antwortButtonActionPerformed(java.awt.event.ActionEvent evt) {
        benutzer();





    }
    // Variables declaration - do not modify
    private javax.swing.JButton antwortButton;
    private javax.swing.JTextField antwortFeld;
    private javax.swing.JLabel benutzerFalscheAntwortZaehlerLabel;
    private javax.swing.JLabel benutzerGewinnerLabel;
    private javax.swing.JLabel benutzerPunkteLabel;
    private javax.swing.JLabel familienDuellLabel;
    private javax.swing.JLabel frageLabel;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JButton neuesSpiel;
    private javax.swing.JLabel skynetFalscheAntwortZaehlerLabel;
    private javax.swing.JLabel skynetGewinnerLabel;
    private javax.swing.JLabel skynetPunkteLabel;
    private javax.swing.JButton startButton;
    // End of variables declaration
    private int frageIndex;
    private String antwort;
    private String fragen;
    private int falscheAntwortZaehler = 0;
    private int benutzerPunkte = 0;
    private int skynetPunkte = 0;
    private FragenUndAntworten fragenUAntworten;
    private Integer anzahlAntwortZurFrage;
}

Hm. Schwer zu sagen: Viel Code (aber unvollständig), dazu noch dieses automatisch generierte Zeug (von Hand schreiben kann nicht schaden, wenn man nicht gerade einen RAD-Auftrag für eine anspruchslose Firma zusammenschustert), und der Ablauf… ist nicht so ganz klar: Die ganze “Logik” scheint (sofern vorhanden) ja in der FragenUndAntworten-Klasse zu stecken…

Vermutlich würde es schon helfen, das ganze mal im Debugger laufen zu lassen.

Notfalls auch bei allen “Falsche Antwort”-Ausgaben versuchen, mit System.out.println’s den Grund genauer herauszufinden und zurückzuverfolgen…

[QUOTE=Marco13]Hm. Schwer zu sagen: Viel Code (aber unvollständig), dazu noch dieses automatisch generierte Zeug (von Hand schreiben kann nicht schaden, wenn man nicht gerade einen RAD-Auftrag für eine anspruchslose Firma zusammenschustert), und der Ablauf… ist nicht so ganz klar: Die ganze “Logik” scheint (sofern vorhanden) ja in der FragenUndAntworten-Klasse zu stecken…

Vermutlich würde es schon helfen, das ganze mal im Debugger laufen zu lassen.

Notfalls auch bei allen “Falsche Antwort”-Ausgaben versuchen, mit System.out.println’s den Grund genauer herauszufinden und zurückzuverfolgen…[/QUOTE]

also das ganze ist ne Hashmap die durchläuft hier. Was meinen Sie mit unvollständig? bin leider der totale Rookie auf dem Gebiet der programmierung.


import java.util.HashMap;

public class FragenUndAntworten {

	String frage1 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das Teenager stundenlang machen.";
	String frage2 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das man im Portemonnaie hat außer Geld und der Bankkarte.";
	String frage3 	= "Einhundert Leute haben wir gefragt, nennen sie ein Tier, das in oder an einem Teich lebt.(Einzahl)";
	String frage4 	= "Einhundert Leute haben wir gefragt, nennen sie etwas mit dem Kekse gefüllt sind.";
	String frage5 	= "Einhundert Leute haben wir gefragt, nennen sie eine Tierart die sich leicht dressieren lässt.";
	String frage6 	= "Einhundert Leute haben wir gefragt, nennen sie eine spezielle Nummer ausser der Autonummer.";
	String frage7 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das man tun kann, wenn man im Bett liegt";
	String frage8 	= "Einhundert Leute haben wir gefragt, nennen sie eine Tugend, die den Deutschen oft nachgesagt wird.";
	String frage9 	= "Einhundert Leute haben wir gefragt, nennen sie einen europäischen Zwergstaat.";
	String frage10 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das sich im Haushalt, ausser alten Zeitungen,scheinbar von selbst anhäuft.";
	String frage11 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das sie tragen wenn sie nicht erkannt werden wollen.";
	String frage12 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das sie mit der Raumfahrt verbinden.";
	String frage13 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das in jedem Westernfilm im Salon kaputt geht.";
	String frage14 	= "Einhundert Leute haben wir gefragt, nennen Sie ein Land, das für seinen Weinanbau bekannt ist.";
	String frage15 	= "Einhundert Leute haben wir gefragt, nennen Sie etwas, das sie mit einem Rocker verbinden.";
	String frage16 	= "Einhundert Leute haben wir gefragt, nennen Sie etwas, das sie zuerst tun, wenn Sie ein Jahr auf einer einsamen Insel gelebt haben und zurück in die Zivilisation kommen.";
	String frage17 	= "Einhundert Leute haben wir gefragt, nennen sie etwas, das sie bisher nur einmal im Leben gekauft haben.";
	String frage18 	= "Einhundert Leute haben wir gefragt, nennen sie jemanden, der eine Kelle benutzt";


	
	HashMap<String, Integer> antwortenFrage1 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage2 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage3 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage4 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage5 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage6 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage7 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage8 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage9 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage10 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage11 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage12 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage13 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage14 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage15 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage16 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage17 	= new HashMap<String,Integer>();
	HashMap<String, Integer> antwortenFrage18 	= new HashMap<String,Integer>();

	HashMap<Integer, HashMap<String, Integer>> antworten = new HashMap<Integer, HashMap<String, Integer>>();
	HashMap<Integer, String> fragen = new HashMap<Integer, String>();
	
	public FragenUndAntworten(){
		
		//Frage1
		antwortenFrage1.put("Telefonieren", 26);
		antwortenFrage1.put("Musik", 19);
		antwortenFrage1.put("Internet", 15);
		antwortenFrage1.put("Ausgehen", 14);
		antwortenFrage1.put("Schminken", 12);
		antwortenFrage1.put("Fernsehen", 8);
		antwortenFrage1.put("Computer", 3);
		antwortenFrage1.put("Nerven", 2);
		antwortenFrage1.put("Ärger", 1);
		antwortenFrage1.put("Faulenzen", 0);
		antwortenFrage1.put("Lernen", 0);
		antwortenFrage1.put("Lesen", 0);
		antwortenFrage1.put("Schlafen", 0);
		antwortenFrage1.put("Fußball", 0);
		antwortenFrage1.put("Einkaufen", 0);
		antwortenFrage1.put("Chillen", 0);
		antwortenFrage1.put("Arbeiten", 0);
		antwortenFrage1.put("Flirten", 0);
		antwortenFrage1.put("Im Bett liegen", 0);

		//Frage2	
		antwortenFrage2.put("Fotos", 30);
		antwortenFrage2.put("Personalausweis", 20);
		antwortenFrage2.put("Führerschein", 15);
		antwortenFrage2.put("Mitgliedskarten", 10);
		antwortenFrage2.put("Briefmarken", 9);
		antwortenFrage2.put("Geld", 0);
		antwortenFrage2.put("Bankkarte", 6);
		antwortenFrage2.put("Münzen", 3);
		antwortenFrage2.put("Kassenzettel", 2);
		antwortenFrage2.put("Eintrittskarten", 0);
		antwortenFrage2.put("Telefonnummern", 7);
		antwortenFrage2.put("Notizen", 0);
		antwortenFrage2.put("Scheine", 0);
		antwortenFrage2.put("SD-Karten", 0);
		antwortenFrage2.put("Telefonkarten", 0);
		antwortenFrage2.put("Geheimnummern", 0);
		antwortenFrage2.put("Kreditkarten", 0);
		antwortenFrage2.put("Schlüssel", 0);
		
		//Frage3
		antwortenFrage3.put("Frosch", 27);
		antwortenFrage3.put("Ente", 24);
		antwortenFrage3.put("Fisch", 18);
		antwortenFrage3.put("Schwan", 4);
		antwortenFrage3.put("Libelle", 3);
		antwortenFrage3.put("Mücke", 5);
		antwortenFrage3.put("Grashüpfer", 10);
		antwortenFrage3.put("Algen", 2);
		antwortenFrage3.put("Fliege", 7);
		antwortenFrage3.put("Gans", 0);
		antwortenFrage3.put("Vogel", 0);
		antwortenFrage3.put("Bieber", 0);
		antwortenFrage3.put("Bär", 0);
		antwortenFrage3.put("Affe", 0);
		antwortenFrage3.put("Nilpferd", 0);
		antwortenFrage3.put("Waschbär", 0);
		antwortenFrage3.put("Lurch", 0);
		antwortenFrage3.put("Krebs", 0);
		antwortenFrage3.put("Schnecke", 0);
		
		//Frage4
		antwortenFrage4.put("Schokolade", 40);
		antwortenFrage4.put("Marmelade", 19);
		antwortenFrage4.put("Creme", 15);
		antwortenFrage4.put("Nüsse", 6);
		antwortenFrage4.put("Eierlikör", 3);
		antwortenFrage4.put("Nugat", 5);
		antwortenFrage4.put("Mandeln", 2);
		antwortenFrage4.put("Weinbrand", 9);
		antwortenFrage4.put("Kekse", 1);
		antwortenFrage4.put("Früchte", 0);
		antwortenFrage4.put("Kakao", 0);
		antwortenFrage4.put("Zucker", 0);
		antwortenFrage4.put("Vanille", 0);
		antwortenFrage4.put("Minze", 0);
		antwortenFrage4.put("Farbstoffe", 0);
		antwortenFrage4.put("Geschmacksverstärker", 0);
		
		//Frage5
		antwortenFrage5.put("Hunde", 28);
		antwortenFrage5.put("Pferde", 20);
		antwortenFrage5.put("Delphine", 19);
		antwortenFrage5.put("Affen", 6);
		antwortenFrage5.put("Seehunde", 5);
		antwortenFrage5.put("Bären", 4);
		antwortenFrage5.put("Katze", 9);
		antwortenFrage5.put("Tiger", 8);
		antwortenFrage5.put("Vogel", 1);
		antwortenFrage5.put("Kuh", 0);
		antwortenFrage5.put("Elefant", 0);
		antwortenFrage5.put("Kobra", 0);
		antwortenFrage5.put("Wal", 0);
		antwortenFrage5.put("Wolf", 0);
		antwortenFrage5.put("Löwe", 0);
		antwortenFrage5.put("Leopard", 0);
		antwortenFrage5.put("Schwein", 0);
		antwortenFrage5.put("Papagei", 0);
		antwortenFrage5.put("Ente", 0);
		
		//Frage6
		antwortenFrage6.put("Telefonnummer", 28);
		antwortenFrage6.put("Hausnummer", 22);
		antwortenFrage6.put("Kontonummer", 15);
		antwortenFrage6.put("Geheimnummer", 10);
		antwortenFrage6.put("Handynummer", 5);
		antwortenFrage6.put("Bankleitzahl", 8);
		antwortenFrage6.put("Faxnummer", 2);
		antwortenFrage6.put("PIN", 7);
		antwortenFrage6.put("Autonummer", 0);
		antwortenFrage6.put("Barcode", 3);
		antwortenFrage6.put("Artikelnummer", 0);
		antwortenFrage6.put("Bestellnummer", 0);
		antwortenFrage6.put("Kartennummer", 0);
		antwortenFrage6.put("Versicherungsnummer", 0);
		antwortenFrage6.put("Sozialversicherungsnummer", 0);
		antwortenFrage6.put("eine Nummer schieben", 0);
		antwortenFrage6.put("Wartenummer", 0);
		antwortenFrage6.put("Startnummer", 0);
		antwortenFrage6.put("Kleidergröße", 0);
		
		//Frage7
		antwortenFrage7.put("Lesen", 25);
		antwortenFrage7.put("Schlafen", 21);
		antwortenFrage7.put("Sex", 8);
		antwortenFrage7.put("Essen", 3);
		antwortenFrage7.put("Fernsehen", 20);
		antwortenFrage7.put("Liegen", 6);
		antwortenFrage7.put("Ausruhen", 5);
		antwortenFrage7.put("Nachdenken", 2);
		antwortenFrage7.put("Träumen", 10);
		antwortenFrage7.put("Musik hören", 0);
		antwortenFrage7.put("Telefonieren", 0);
		antwortenFrage7.put("Zähne putzen", 0);
		antwortenFrage7.put("Warten", 0);
		antwortenFrage7.put("Schäfchen zählen", 0);
		antwortenFrage7.put("Genesen", 0);
		antwortenFrage7.put("Lernen", 0);
		antwortenFrage7.put("Weinen", 0);
		antwortenFrage7.put("Schreiben", 0);
		
		//Frage8
		antwortenFrage8.put("Pünktlichkeit", 26);
		antwortenFrage8.put("Fleiß", 20);
		antwortenFrage8.put("Ordnung", 16);
		antwortenFrage8.put("Geduld", 11);
		antwortenFrage8.put("Hochmut", 5);
		antwortenFrage8.put("Stolz", 2);
		antwortenFrage8.put("Geiz", 6);
		antwortenFrage8.put("Zorn", 10);
		antwortenFrage8.put("Wolllust", 4);
		antwortenFrage8.put("Zorn", 0);
		antwortenFrage8.put("Demut", 0);
		antwortenFrage8.put("Keuschheit", 0);
		antwortenFrage8.put("Mildtätigkeit", 0);
		antwortenFrage8.put("Faulheit", 0);
		antwortenFrage8.put("Neid", 0);
		antwortenFrage8.put("Wohlwollen", 0);
		antwortenFrage8.put("Mäßigung", 0);
		antwortenFrage8.put("Genauigkeit", 0);
		antwortenFrage8.put("Wissen", 0);
		
		//Frage9
		antwortenFrage9.put("Lichtenstein", 30);
		antwortenFrage9.put("Luxemburg", 20);
		antwortenFrage9.put("Monaco", 12);
		antwortenFrage9.put("Andorra", 7);
		antwortenFrage9.put("Vatikan", 6);
		antwortenFrage9.put("San Marino", 4);
		antwortenFrage9.put("Nauru", 8);
		antwortenFrage9.put("Malta", 10);
		antwortenFrage9.put("Seychellen", 3);
		antwortenFrage9.put("Palau", 0);
		antwortenFrage9.put("Marshallinseln", 0);
		antwortenFrage9.put("St. Lucia", 0);
		antwortenFrage9.put("Malediven", 0);
		antwortenFrage9.put("Dominica", 0);
		antwortenFrage9.put("Tonga", 0);
		antwortenFrage9.put("Singapur", 0);
		antwortenFrage9.put("Barbados", 0);
		antwortenFrage9.put("Greneda", 0);
		antwortenFrage9.put("Tuvalu", 0);
		
		//Frage10
		antwortenFrage10.put("Müll", 27);
		antwortenFrage10.put("Flaschen", 18);
		antwortenFrage10.put("Staub", 17);
		antwortenFrage10.put("Abwasch", 11);
		antwortenFrage10.put("Schmutzwäsche", 8);
		antwortenFrage10.put("Kleidung", 4);
		antwortenFrage10.put("Geld", 7);
		antwortenFrage10.put("Arbeit", 2);
		antwortenFrage10.put("Streit", 5);
		antwortenFrage10.put("Rezepte", 1);
		antwortenFrage10.put("Möbel", 0);
		antwortenFrage10.put("Pflanzen", 0);
		antwortenFrage10.put("Gerümpel", 0);
		antwortenFrage10.put("CDs", 0);
		antwortenFrage10.put("Brettspiele", 0);
		antwortenFrage10.put("Spielzeug", 0);
		antwortenFrage10.put("elektrische Geräte", 0);
		antwortenFrage10.put("Kabel", 0);
		antwortenFrage10.put("Bedienungsanleitungen", 0);
		antwortenFrage10.put("Postkarten", 0);
		antwortenFrage10.put("Konserven", 0);
		
		//Frage11
		antwortenFrage11.put("Sonnenbrille", 37);
		antwortenFrage11.put("Perücke", 20);
		antwortenFrage11.put("Falscher Bart", 14);
		antwortenFrage11.put("Hut", 10);
		antwortenFrage11.put("Maske", 8);
		antwortenFrage11.put("Mantel", 2);
		antwortenFrage11.put("Schminke", 3);
		antwortenFrage11.put("Falsche Nase", 5);
		antwortenFrage11.put("Schal", 1);
		antwortenFrage11.put("Regenschirm", 0);
		antwortenFrage11.put("Kopftuch", 0);
		antwortenFrage11.put("Skimaske", 0);
		antwortenFrage11.put("Jacke", 0);
		antwortenFrage11.put("Kapuze", 0);
		antwortenFrage11.put("Cap", 0);
		antwortenFrage11.put("Falsche Brille", 0);
		antwortenFrage11.put("Tuch", 0);
		antwortenFrage11.put("Verkleidung", 0);
		antwortenFrage11.put("Kostüm", 0);
		antwortenFrage11.put("Uniform", 0);
		
		//Frage12
		antwortenFrage12.put("Astronaut", 30);
		antwortenFrage12.put("Rakete", 22);
		antwortenFrage12.put("All", 11);
		antwortenFrage12.put("Raumfähre", 10);
		antwortenFrage12.put("Nasa", 8);
		antwortenFrage12.put("Mond", 6);
		antwortenFrage12.put("Armstrong", 7);
		antwortenFrage12.put("Außerirdische", 5);
		antwortenFrage12.put("Star Trek", 1);
		antwortenFrage12.put("Komet", 0);
		antwortenFrage12.put("Sonne", 0);
		antwortenFrage12.put("Science Fiction", 0);
		antwortenFrage12.put("Star Wars", 0);
		antwortenFrage12.put("USA", 0);
		antwortenFrage12.put("Sowjet", 0);
		antwortenFrage12.put("Affen", 0);
		antwortenFrage12.put("Schwerelosigkeit", 0);
		antwortenFrage12.put("Unendlich", 0);
		antwortenFrage12.put("Lichtgeschwindigkeit", 0);
		
		//Frage13
		antwortenFrage13.put("Gläser", 29);
		antwortenFrage13.put("Flaschen", 27);
		antwortenFrage13.put("Spiegel", 11);
		antwortenFrage13.put("Tische", 12);
		antwortenFrage13.put("Stühle", 6);
		antwortenFrage13.put("Salon", 1);
		antwortenFrage13.put("Cowboys", 8);
		antwortenFrage13.put("Geländer", 4);
		antwortenFrage13.put("Vasen", 2);
		antwortenFrage13.put("Zähne", 0);
		antwortenFrage13.put("Schenke", 0);
		antwortenFrage13.put("Klavier", 0);
		antwortenFrage13.put("Uhr", 0);
		antwortenFrage13.put("Fässer", 0);
		antwortenFrage13.put("Brillen", 0);
		antwortenFrage13.put("Hüte", 0);
		antwortenFrage13.put("Bilder", 0);
		antwortenFrage13.put("Treppen", 0);
		antwortenFrage13.put("Lampen", 0);
		antwortenFrage13.put("Boden", 0);
		
		//Frage14
		antwortenFrage14.put("Frankreich", 30);
		antwortenFrage14.put("Italien", 15);
		antwortenFrage14.put("Deutschland", 10);
		antwortenFrage14.put("Spanien", 7);
		antwortenFrage14.put("Australien", 5);
		antwortenFrage14.put("Griechenland", 2);
		antwortenFrage14.put("Österreich", 10);
		antwortenFrage14.put("Ungarn", 15);
		antwortenFrage14.put("Niederlande", 6);
		antwortenFrage14.put("Schweiz", 0);
		antwortenFrage14.put("USA", 0);
		antwortenFrage14.put("Südamerika", 0);
		antwortenFrage14.put("Neuseeland", 0);
		antwortenFrage14.put("Südafrika", 0);
		antwortenFrage14.put("China", 0);
		antwortenFrage14.put("Japan", 0);
		antwortenFrage14.put("Kalifornien", 0);
		antwortenFrage14.put("Luxemburg", 0);
		antwortenFrage14.put("Rumänien", 0);
		antwortenFrage14.put("Keine Ahnung", 0);

		//Frage15
		antwortenFrage15.put("Lederkleidung", 36);
		antwortenFrage15.put("Motorrad", 20);
		antwortenFrage15.put("Rockmusik", 19);
		antwortenFrage15.put("Lange Haare", 3);
		antwortenFrage15.put("Bierbauch", 4);
		antwortenFrage15.put("Aggression", 5);
		antwortenFrage15.put("Gewalt", 2);
		antwortenFrage15.put("Tätowierung", 10);
		antwortenFrage15.put("Bart", 1);
		antwortenFrage15.put("Sonnenbrille", 0);
		antwortenFrage15.put("Stiefel", 0);
		antwortenFrage15.put("Waffen", 0);
		antwortenFrage15.put("Clubs", 0);
		antwortenFrage15.put("Männlichkeit", 0);
		antwortenFrage15.put("Freiheit", 0);
		antwortenFrage15.put("Rauchen", 0);
		antwortenFrage15.put("Alkohol", 0);
		antwortenFrage15.put("schöne Frauen", 0);
		antwortenFrage15.put("Verbrechen", 0);
		antwortenFrage15.put("Schlägerei", 0);

		//Frage16
		antwortenFrage16.put("Duschen", 22);
		antwortenFrage16.put("Essen", 23);
		antwortenFrage16.put("Fernsehen", 12);
		antwortenFrage16.put("Telefonieren", 10);
		antwortenFrage16.put("Bier trinken", 8);
		antwortenFrage16.put("Sex", 6);
		antwortenFrage16.put("Besuchen", 5);
		antwortenFrage16.put("Zeitung lesen", 4);
		antwortenFrage16.put("Schlafen", 3);
		antwortenFrage16.put("Sauer werden", 7);
		antwortenFrage16.put("Wohnung suchen", 0);
		antwortenFrage16.put("Arbeit suchen", 0);
		antwortenFrage16.put("Kaffee trinken", 0);
		antwortenFrage16.put("Shoppen", 0);
		antwortenFrage16.put("Grillen", 0);
		antwortenFrage16.put("Rasieren", 0);
		antwortenFrage16.put("Familie besuchen", 0);
		antwortenFrage16.put("Buch schreiben", 0);
		antwortenFrage16.put("Zähne putzen", 0);
		antwortenFrage16.put("Familie gründen", 0);
		
		//Frage17
		antwortenFrage17.put("Hochzeitskleid", 20);
		antwortenFrage17.put("Ehering", 16);
		antwortenFrage17.put("Auto", 21);
		antwortenFrage17.put("Immobilie", 11);
		antwortenFrage17.put("Zartbitterschokolade", 12);
		antwortenFrage17.put("Monitor", 10);
		antwortenFrage17.put("Fernseher", 5);
		antwortenFrage17.put("Radio", 1);
		antwortenFrage17.put("Lieblingskleidung", 4);
		antwortenFrage17.put("Aktie", 0);
		antwortenFrage17.put("Handy", 0);
		antwortenFrage17.put("Kamera", 0);
		antwortenFrage17.put("CD", 0);
		antwortenFrage17.put("Film", 0);
		antwortenFrage17.put("Silbernes Besteck", 0);
		antwortenFrage17.put("Herd", 0);
		antwortenFrage17.put("Küche", 0);
		antwortenFrage17.put("Pass", 0);
		antwortenFrage17.put("Fester", 0);
		
		//Frage18
		antwortenFrage18.put("Maurer", 27);
		antwortenFrage18.put("Koch", 25);
		antwortenFrage18.put("Polizist", 22);
		antwortenFrage18.put("Schaffner", 11);
		antwortenFrage18.put("Zimmerer", 5);
		antwortenFrage18.put("Schreiner", 6);
		antwortenFrage18.put("Richter", 1);
		antwortenFrage18.put("Schülerlotse", 3);
		antwortenFrage18.put("Lockführer", 0);
		antwortenFrage18.put("Straßenbauarbeiter", 0);
		antwortenFrage18.put("Bäcker", 0);
		antwortenFrage18.put("Konditor", 0);
		antwortenFrage18.put("Schornsteinfeger", 0);
		antwortenFrage18.put("Parkhelfer", 0);
		antwortenFrage18.put("Kinder", 0);
		antwortenFrage18.put("Wachdienst", 0);
		antwortenFrage18.put("Brauer", 0);
		antwortenFrage18.put("Winzer", 0);
		
		antworten.put(1, antwortenFrage1);
		antworten.put(2, antwortenFrage2);
		antworten.put(3, antwortenFrage3);
		antworten.put(4, antwortenFrage4);
		antworten.put(5, antwortenFrage5);
		antworten.put(6, antwortenFrage6);
		antworten.put(7, antwortenFrage7);
		antworten.put(8, antwortenFrage8);
		antworten.put(9, antwortenFrage9);
		antworten.put(10, antwortenFrage10);
		antworten.put(11, antwortenFrage11);
		antworten.put(12, antwortenFrage12);
		antworten.put(13, antwortenFrage13);
		antworten.put(14, antwortenFrage14);
		antworten.put(15, antwortenFrage15);
		antworten.put(16, antwortenFrage16);
		antworten.put(17, antwortenFrage17);
		antworten.put(18, antwortenFrage18);
		
		fragen.put(1, frage1);
		fragen.put(2, frage2);
		fragen.put(3, frage3);
		fragen.put(4, frage4);
		fragen.put(5, frage5);
		fragen.put(6, frage6);
		fragen.put(7, frage7);
		fragen.put(8, frage8);
		fragen.put(9, frage9);
		fragen.put(10, frage10);
		fragen.put(11, frage11);
		fragen.put(12, frage12);
		fragen.put(13, frage13);
		fragen.put(14, frage14);
		fragen.put(15, frage15);
		fragen.put(16, frage16);
		fragen.put(17, frage17);
		fragen.put(18, frage18);
	}
	
}```

In Zeile 264 steht sowas wie


 javax.swing.GroupLayout j.....

  • also compilieren kann man das nicht. (Hast du mich gerade tatsächlich mit „Sie“ angeredet? :confused: ts :p) Die FragenUndAntworten-Klasse ist… räusper… etwas „suboptimal“. Stell’ dir mal vor, du wolltest 100 Fragen dort speichern :smiley:

GANZ grob: Es wäre wohl günstiger, eine Klasse „FrageUndAntwort“ zu haben,

class FrageUndAntwort {
    String frage;
    Map<String, Integer> antworten;
    ...
}

und in der „FragenUndAntorten“-Klasse dann 18 Objekte dieses Typs zu erstellen und in eine List zu legen. Dass man diese ganzen Informationen vielleicht lieber aus einer Datei lesen sollte (damit man sie erweitern kann, ohne das Programm ändern zu müssen) kommt noch dazu…

Das hat aber mit dem eigentlichen Problem nicht direkt zu tun (bzw. der Zusammenhang ist wegen der Masse des Codes nicht leicht erkennbar). Hat das Debuggen oder die System.out.println’s nichts gebracht?

[QUOTE=Marco13]

Das hat aber mit dem eigentlichen Problem nicht direkt zu tun (bzw. der Zusammenhang ist wegen der Masse des Codes nicht leicht erkennbar). Hat das Debuggen oder die System.out.println’s nichts gebracht?[/QUOTE]

irgendwie hats garnichts gebracht. Fehler zeigt er mir keine an. und über system out konnt ich das problem auch nicht lokalisieren. naja das mit der suboptimalität hast sicher recht, doch naja ist bloss a studienprojekt und soll ja nicht verbreitet werden. wäre aber dennoch toll wenns irgendwie funktionieren würde

das in der zeile 246 ist bloss von mir abekürzt das sind die ganzen änderungen über den inspector von netbeans. wären zuviele zeilen

Ich weiß das irgendwo die “antwort” verloren geht nur nicht wo

fehler gefunden 123

fragenUAntworten.antworten.get(frageIndex).get(antwortFeld.getText());

muss heißen

anzahlAntwortenZurFrage = fragenUAntworten.antworten.get(frageIndex).get(antwortFeld.getText());

Dennoch danke :smiley: