Wählfenster(JOptionPane)

Hallo Community,
ich habe hier ein kleines Problem, welches hoffentlich schnell gelöst sein wird.
Und zwar habe ich diesen Codeauschnitt:
WEnn ich ihn starte öffnet sich ein Fenster und ich kann 4 verschiedene Dinge anwählen.
Wenn ich einen angewählt habe drücke ich ok und nun wird eine Zahl ausgegeben.
Und nun will ich das wenn ich z.B. sehr schwer angewählt habe soll diff 1 werden, wenn ich schwierig wähle soll diff 2 werden usw.
Kann mir da jemand helfen?

Java:
Object[] options = {"Sehr schwer(Timer:50)", "Schwierig(Timer:60)", "Mittel(Timer:100)", "Leicht(Timer:150)"};
        Object choosenvalue = JOptionPane.showInputDialog(null,
                "Welche Schwierigkeit?", "Wähle...", JOptionPane.QUESTION_MESSAGE, null,
                options, options[0]);
        int diff = 0;
        for (int i = 0; i < options.length; i++) {
            if (choosenvalue.equals(options[i])) {
                System.out.println("OL:"+options.length);
                switch ([COLOR="Red"]"?"[/COLOR]) {
                    case 1: diff = 50;
                    case 2: diff = 60;
                    case 3: diff = 100;
                    case 4: diff = 150;
                }
            }
 
Strings im switch gehen leider (noch) nicht 🙂
Mhm..naja, gäbe jetzt mehrere Möglichkeiten...um mal bei deiner Idee mit der Schleife zu bleiben:
Java:
	int diff = 0;
	int auswahl = -1;
	for (int i = 0; i < options.length; i++) {
	    if (choosenvalue.equals(options[i])) {
		auswahl = i;break;
	    }
	}
	switch (auswahl) {
	case 0: diff = 50;break;
	case 1: diff = 60;break;
	case 2: diff = 100;break;
	case 3: diff = 150;break;
	default:break;
	}
 
Zuletzt bearbeitet:
Du hast noch Syntaxfehler in deinem Code. Guck dir nochmal den Kopf von "switch" an.
Weiterhin sehe ich auf den ersten Blick, dass du in deinem "switch"-Konstrukt keine "break"-Anweisungen benutzt. Ist das wirklich so beabsichtigt?
Außerdem wäre es nett, wenn du deinen Code in eine main-Methode und eine Klasse verpacken könntest und die benutzten Packages einbindest. So kann jeder den Code sofort auf seinem System kompilieren und sich direkt auf die logischen Fehler und dein konkretes Problem konzentrieren.
 
Danke an euch beide.
Habe es jetzt nach Eraaaas Methode gelöst.
Und zwar so: (Komplette Klasse)
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tontauben;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 *
 * @author Darktrooper1991@Mesk
 */
public class Main {

    public static void main(String[] args) {
        Object[] options = {"Sehr schwer(Timer:50)", "Schwierig(Timer:60)", "Mittel(Timer:100)", "Leicht(Timer:150)"};
        Object choosenvalue = JOptionPane.showInputDialog(null,
                "Welche Schwierigkeit?", "Wähle...", JOptionPane.QUESTION_MESSAGE, null,
                options, options[0]);

        int auswahl = -1;
        int diff = 0;
        for (int i = 0; i < options.length; i++) {
            if (choosenvalue.equals(options[i])) {
                System.out.println("OL:" + options.length);
                auswahl = i;
                System.out.println("Auswahl:" + auswahl);
                break;
            }
        }
        switch (auswahl) {
            case 0:
                diff = 50;
                break;
            case 1:
                diff = 60;
                break;
            case 2:
                diff = 100;
                break;
            case 3:
                diff = 150;
                break;
        }

        System.out.println("Difficulty:" + diff);

        Steuerung steu = new Steuerung();
        Oberflaeche Benutzerob = new Oberflaeche(steu);

        steu.setzeOberflaeche(Benutzerob);
        SpielTimer timer = new SpielTimer(steu, diff);
        JFrame mainFrame = new JFrame("Daniels Tontaubenschießen");

        mainFrame.setSize(800, 600);
        mainFrame.setResizable(false);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setContentPane(Benutzerob);

        Benutzerob.setFocusable(true);
        Benutzerob.requestFocus();
        Benutzerob.setVisible(true);
        mainFrame.setVisible(true);
    }
}

Danke
 

Neue Themen


Zurück
Oben