Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / if else не отрабатывает / 5 сообщений из 5, страница 1 из 1
27.11.2014, 00:02
    #38817894
IShapovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
if else не отрабатывает
Почему данная конструкция не работает как надо. То есть если я ввожу "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
27.11.2014, 00:25
    #38817903
IShapovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
if else не отрабатывает
Третие условие заменил на else if (name.length() == 0), но первое не знаю почему не работает
...
Рейтинг: 0 / 0
27.11.2014, 00:47
    #38817911
maxkar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
if else не отрабатывает
IShapovalov,

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

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

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


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