Char Wert in int casten ?

BuTTerBroTHDx

Neues Mitglied
Hallo,

ich bin neu hier und das ist mein erster Post 😉
Ich hab folgendes Programm geschrieben und möchte nun, dass das Zahlenquizprogramm durch die Taste q beendet wird. Also man gibt als Wert ein q ein.
Ich hab schon etwas rumprobiert jedoch ohne Erfolg:

Java:
public class Zahlenquiz {
  public static void main(String[] args) {
    int rand = new java.util.Random().nextInt(10);
    int counter = 0;
    int number = -1;
    char c = 'q';
    int Char = c;

    System.out.println("Gib so lange eine Zahl zwischen " + " 0 und 9 ein bis eine Erfolgsmeldung erscheint!");
    System.out.println("Mit der Taste q beendest du das Programm.");
    while(rand != number) {
      counter++;
      System.out.print(counter + ". Versuch :");
      number = Input.readInt();
      System.out.println("Du hast das Programm beendet");
   
    }

    System.out.println("Erraten: die Eingbae von " + number +
    " ist korrekt!\n" +
    "Du hast " + counter + " Versuche ben\u00F6tigt!");
    System.out.println("Du hast das Programm beendet");

  }
}

Danke jetzt schon mal ! 🙂
 
Zuletzt bearbeitet von einem Moderator:
Ich würde es ganz einfach machen
Code:
if (number.equalsIgnoreCase("q"){
System.exit(0);
}

Ich würde eher mit scan oder JoptionPane arbeiten, ist einfacher.
 
Zuletzt bearbeitet:
int i = 'q';

So castet man chars in int, also nicht so schwer.

Aber dein Programm dürfte so nciht laufen, wenn du es in deiner IDE wirklich so stehen hast und hier ncihts verändert hast.
 
Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaforum;

import javax.swing.JOptionPane;

/**
* @author XXX
*/
public class JavaForum {
    public static void main(String[] args) {
        int rand = (int) (Math.random() * 10);
        int counter = 1;
        String number;
        String numberString;
        int numberInt;

        boolean geraten = false;

        while (!geraten) {
            number = JOptionPane.showInputDialog("Gib so lange eine Zahl zwischen 0 und 9 ein bis eine Erfolgsmeldung erscheint!\n"
                    + "Mit der Taste q beendest du das Programm.");

            if (number.equalsIgnoreCase("q")) {
                JOptionPane.showMessageDialog(null, "Du hast das Programm beendet");
                System.exit(0);
            } else {
                numberInt = Integer.parseInt(number);
                if (numberInt == rand) {
                    System.out.println("Erraten: die Eingbae von " + number
                            + " ist korrekt!\n"
                            + "Du hast " + counter + " Versuche benötigt!");
                    JOptionPane.showMessageDialog(null, "Du hast das Programm beendet");
                    geraten = true;
                } else {
                    counter++;
                }
            }
        }
    }
}

So würde dein Programm funktionieren.

Ob es Perfekt ist weiß ich nicht, dafür habe ich noch zu wenig Erfahrung.

edit: Du kannst auch ruhig mit Umlauten arbeiten, schreib einfach Ö,Ä usw..
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben