Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Проблема с русскими символами в строке в NetBeans

#java


Пытаюсь написать программу на Java. Ее смысл: должна быть введена текстовая переменная
(название месяца). Пользователь вводит возможные варианты, а программа говорит, угадал
он или нет. Подскажите, какой тип должна иметь загаданная переменная?

Пробовала String s = "Апрель", но компилятор не только меняет слово "Апрель" на непонятные
знаки, но еще и выдает что-то об открытом типе литерала. 
    


Ответы

Ответ 1



1-й способ: Ваша проблема описана тут. Если вы пишете в NetBeans, например, то вам необходимо зайти в свойства проекта и поменять кодировку на windows-1251. После этого данный код работает корректно: public static void main(String[] args) { System.out.println("Введите месяц:"); Scanner in = new Scanner(System.in); String s = in.nextLine(); System.out.println(s); } 2 способ: Указать кодировку вводимых символов сразу: public static void main(String[] args) throws UnsupportedEncodingException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in,"Cp1251")); System.out.println("Введите месяц:"); //Scanner in = new Scanner(System.in); String s = br.readLine(); System.out.println(s); } Вывод программы в обоих случаях: Для угадывания случайного элемента из массива вам подойдет такой код: public static void main(String[] args) throws UnsupportedEncodingException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in,"Cp1251")); System.out.println("Введите месяц:"); //Задаем массив месяцев для ввода: String[] arr = {"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль"}; Random rand = new Random(); //Выбираем рандомный элемент (месяц) из нашего массива: String s, luck = arr[rand.nextInt(arr.length)]; boolean isLuck = false; //Пока не введен верно месяц с консоли, крутим цикл до посинения: while (!isLuck) { s = br.readLine(); if (s.equals(luck)) { System.out.println("Верно!"); isLuck = true; } else { System.out.println("Не угадали, попробуйте еще раз"); } } } Вывод:

Комментариев нет:

Отправить комментарий