1

Тема: Оператор Switch Case

Доброго дня!
Зіткнувся з проблемою порівняння змінних типу String, що вводяться з консолі зі значенням в операторі case. Коли необхідно порівняти значення введені в консолі українською мовою з відповідними значеннями в операторі case, чомусь intellig IDEA не вірно виконує порівняння значень. Якщо те саме роботи англійською мовою, то все працює як треба.
Приклад простої програми де виникла ця проблема

import java.util.Scanner;
public class Translator {
    public static void main(String[] args) {
//        String weather = "Погода";
        Scanner input = new Scanner(System.in);
        System.out.println("Введіть слово про погоду українською мовою: ");
        String weather = input.next();

        switch (weather) {
            case "Тепло": {
                System.out.println("Warmly");
                break;
            }
            case "Жарко": {
                System.out.println("Hot");
                break;
            }
            case "Холодно": {
                System.out.println("cold");
                break;
            }
            case "Вітряно": {
                System.out.println("windy");
                break;
            }
            case "Hot": {
                System.out.println("Sunny");
                break;
            }
            case "Снігово": {
                System.out.println("Snowy");
                break;
            }
            case "Дощово": {
                System.out.println("Rainly");
                break;
            }
            case "Морозно": {
                System.out.println("Frosty");
                break;
            }
            case "Похмурно": {
                System.out.println("Cloudy");
                break;
            }
            case "Штормова": {
                System.out.println("Stormy");
                break;
            }
            default: {
                System.out.println("Такої погоди не існує");
            }
        }
    }
}

2 Востаннє редагувалося FakiNyan (05.05.2022 13:35:27)

Re: Оператор Switch Case

то шось 100% з кодуванням того терміналу, в котрому ви вводите текст, бо коли я запускаю в своєму звичайному терміналі, без intellij idea, то все робе
https://i.imgur.com/7ppHvlP.png

Гляньте ось тут, яке там кодування стоїть?
https://resources.jetbrains.com/help/img/idea/2022.1/encoding2.png

Подякували: koala, leofun012

3

Re: Оператор Switch Case

Дуже дякую! Я спробую!

4

Re: Оператор Switch Case

Не працює. Видає помилки illegal character: '\ufffd':1

5

Re: Оператор Switch Case

вам тре було UTF-8 обрати, якшо шо.
Я вже собі встановив ту intellij idea, і спробував, і все робе файно.

Спробуйте вивести в термінал те, що ви вводите, відразу після введення, аби подивитись, чи воно хоч правильно зчитує.

Подякували: koala1