powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / if else не отрабатывает
5 сообщений из 5, страница 1 из 1
if else не отрабатывает
    #38817894
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему данная конструкция не работает как надо. То есть если я ввожу "n" у меня вылетает в посленее else, если я нечего не ввожу и нажимаю Enter опять же вылетает последнее else(пробывал в третьем условие вместо null написать "\n" но опятьже вылетает последнее else). В нём работает только второе условие, но как заставить работать остальные?
Строго не судите новичёк. Заранее спасибо)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
public static void menuCreateName()
        {
            BufferedReader bufferedReader =
                    new BufferedReader(new InputStreamReader(System.in));
            String name = null;
            String n = "n";
            System.out.println("Enter a name for the new task, and then press Enter (not allowed to call the task named \"n\"). " +
                    "To return to the previous menu, enter \"n\" and press Enter.");
            try {
                name = bufferedReader.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try{
            if(name == n)
            {
                menuTaskManage();
            }
            else if(name.length()>2)
            {
                System.out.println("\n Name created successfully \n");
            }
            else if (name == null)
            {
                System.err.println("You have entered an invalid name format. Try again. \n");
                menuCreateName()
            }
                else {
               System.err.println("You have entered an invalid name format. Try again. \n");
               menuCreateName()
            }
            }catch (Exception e)
            {
                System.err.println("You have entered an invalid name format. Try again. \n");
                menuCreateName()
            }
        }
...
Рейтинг: 0 / 0
if else не отрабатывает
    #38817903
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Третие условие заменил на else if (name.length() == 0), но первое не знаю почему не работает
...
Рейтинг: 0 / 0
if else не отрабатывает
    #38817911
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IShapovalov,

Потому что строки (и вообще все объекты) нужно не через == сравнивать а через equals. А для массивов - Arrays.equals/Arrays.deepEquals. Подробнеe
...
Рейтинг: 0 / 0
if else не отрабатывает
    #38817914
IShapovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxkar, да да, до меня тоже только сейчас дошло хотел уже написать то что тема закрыта и заменил условие на if(name.equals(n))

Спасибо за ответ)
...
Рейтинг: 0 / 0
if else не отрабатывает
    #38817915
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
if ("n".equals(myString) // что-то сделать

Оператор (не)равно сравнивает адреса строк, а не их содержимое.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / if else не отрабатывает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]