case, if и import java.util.Scanner. Нужна подсказка

186
10 марта 2018, 19:01

ТЗ простое. Программа должна задавать вопрос, получать ответ и в зависимости от полученного ответа выводить определенный текст. Я сумел сделать только, так:

import java.util.Scanner; 
class LoveOrNot { 
public static void main(String[] args) { 
    int x = 0; 
    while ( x == 0 ) { 
    System.out.println(); 
    Scanner keyboard = new Scanner(System.in); 
    System.out.println("Карина, ты меня любишь?"); 
    System.out.println("Введи '1' если да или '2' если нет.");
    System.out.println();
    Integer otvet = keyboard.nextInt(); 
        switch (otvet) {
            case 2:
                System.out.println();
                System.out.println("Я щас заплачу(((");
                System.out.println();
                break;
            case 1:
                System.out.println();
                System.out.println("И я тебя люблю, красавица!!!");
                System.out.println();
                break;
            default:
                System.out.println();
                System.out.println("Не правильно, милая. Введи на клавиатуре '1' или '2'.");
                System.out.println();
                break; 
        }
    }
  } 
}

Проблема в следующем. Я хочу чтобы нужно было вводить не '1' или '2', а 'да' или 'нет'. Пробовал через оператор if все проделать, не выходит. Буду рад если натолкнете на мысль.

З.Ы.:Я только пару дней как решил стать джавистомъ, так что не надо плеваться)

Answer 1

Чтобы сравнить строки надо использовать метод equals("Что то там") (Или так: equals(str)).

К сожалению switch не подходит.

example:

if (str.equals("bla"))
{
    //Делаем что то....
}
Answer 2

Разобрался сам, но не полностью. Получилось сделать задуманное, но не совсем так как хотел. Мне было нужно, вводить ответ кириллицей, но вышло только латинскими буквами.

import java.util.Scanner; 
class LoveOrNot { 
    public static void main(String[] args) { 
        int x = 0; 
        while ( x == 0 ) { 
        System.out.println(); 
        Scanner keyboard = new Scanner(System.in);
        System.out.println("Карина, ты меня любишь?"); 
        System.out.println("Введи 'yes' или 'no'.");
        System.out.println();
        String otvet = keyboard.next(); 
            if (otvet.equals ("yes")) { //сравниваем содержимое 
                System.out.println();//с помощью метода equals
                System.out.println("И я тебя люблю, красавица!!!");
                System.out.println();
                }
                else if (otvet.equals ("no")) {    
                System.out.println();
                System.out.println("Я щас заплачу(((");
                System.out.println();
                }
                else {
                System.out.println();
                System.out.println("Не правильно, милая. Введи на клавиатуре 'yes' или 'no'.");
                System.out.println();
                }
        }
    }
} 

Если кто-то знает как сделать это с использованием кириллических символов, прошу, подскажите. Спасибо.

READ ALSO
Исключить повторяющиеся HashMap из List

Исключить повторяющиеся HashMap из List

Есть List который содержит в себе HashMapВ этом листе в мапах ключи name и email в одной мапе могут встречаться несколько раз одинаковые

163
Почему “--” превращается в длинное тире?

Почему “--” превращается в длинное тире?

В Телеграм боте меню выбора языкаСтрока en --> English должна разделяться на две половинки:

156
NameNotFoundException когда перезапускаю модуль в weblogic

NameNotFoundException когда перезапускаю модуль в weblogic

Всем приветСтолкнулся с проблемой при работе с weblogic и EJB

178