Gideon Freduah Ответов: 2

Как правильно использовать случаи переключения в java


Я новичок в Java и начал использовать условные обозначения switch case в java
но всякий раз, когда я запускаю его, он выдает ошибку ниже
freduah@freduah:~/Desktop/Java$ java Car.java
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
Car.java:7: error: incompatible types: boolean cannot be converted to int
        switch(has_sparked){
              ^
1 error
error: compilation failed
freduah@freduah:~/Desktop/Java$ 


Идея состоит в том, чтобы имитировать автомобиль, где он имеет метод искры
Поэтому сначала он проверяет, остановилась ли машина, а затем дает ей сообщение,
и проверяет, не загорелась ли машина, а также дает ей сообщение

Ниже Приведен Мой Код

Что я уже пробовал:

public class Car{
    public static void main (String[] args){
        Spark();
    };
    static void Spark(){
        boolean has_sparked = false;
        switch(has_sparked){
            case false:
                System.out.println("Car Has Sparked");
                has_sparked = true;
                break;
            case true: 
                System.out.println("Car Has Stopped");
                has_sparked = false;
                break;
        };
    };
}

2 Ответов

Рейтинг:
7

Patrice T

Цитата:
Car.java:7: error: incompatible types: boolean cannot be converted to int

Вам говорят, что switch не может использовать boolean и что Java не может преобразовать его в целое число.
Совет: используйте if else структура и посещение документации/учебника.


CPallini

5.

Patrice T

Спасибо

Gideon Freduah

Спасибо

Рейтинг:
13

CPallini

Ошибка совершенно очевидна: вы должны использовать целочисленную переменную в качестве switch аргумент, см., например Оператор switch (учебники Java™ > изучение языка Java > основы языка)[^]
Когда у вас есть boolean переменная, используйте if .. else построить (см. Java If ... Еще[^][^]).


Patrice T

+5

CPallini

Спасибо.

Gideon Freduah

Ну Ладно, Теперь Это Имеет Смысл.
Большое Вам Спасибо За Ваш Ответ

CPallini

Добро пожаловать.