Java - ошибка: не удается найти символ - переключатель / регистр

public static void main(String[] args) {

    System.out.println("Bitte geben Sie einen Betrag und den Buchstaben der gewunschten Wahrung ein.");

    try {
        Scanner input = new Scanner(System.in);

        double betrag = input.nextInt();
        String wahrung = input.next();     
        double result = 0;

        switch(wahrung.charAt(0)) {
            case d:
                result = betrag * 1.18;
                System.out.println(result);
                break;
            case p:
                result = betrag * 0.88;
                System.out.println(result);
                break;
            case f:
                result = betrag * 0.88;
                System.out.println(result);
                break;
        }
    } catch (Exception e) {
        System.out.println("Bitte geben Sie eine Zahl ein.");
    }
}

Когда я пытаюсь скомпилировать его, он говорит:

Rechner.java:18: ошибка: не удается найти регистр символов d: ^ символ: переменная d расположение: класс Rechner Rechner.java:22: ошибка: не удается найти регистр символов p: ^ символ: переменная p местоположение: класс Rechner Rechner.java:26: ошибка: невозможно найти регистр символов f: ^ символ: переменная f расположение: класс Rechner

Пожалуйста помоги

1 ответ

Вы используете, вы переключаетесь с char, поэтому каждый случай также должен иметь значение char.

Пытаться

switch(wahrung.charAt(0)) {
            case 'd':
                result = betrag * 1.18;
                System.out.println(result);
                break;
            case 'p':
                result = betrag * 0.88;
                System.out.println(result);
                break;
            case 'f':
                result = betrag * 0.88;
                System.out.println(result);
                break;
        }
Другие вопросы по тегам