Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / почему не выходит из цикла / 7 сообщений из 7, страница 1 из 1
05.12.2012, 22:38:07
    #38067038
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
Почему не выходит из цикла, если ввести summa?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
package com;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Summa {
    public static void main(String[] args) throws java.io.IOException {
        for(;;) {
            BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
            String ch=reader.readLine(); String ch1=reader.readLine();
            if (ch=="summa" || ch1=="summa") break;
            int value=Integer.parseInt(ch); int value1=Integer.parseInt(ch1);
            System.out.println("Сумма чисел: "+(value+value1));
        }
    }
} 
...
Рейтинг: 0 / 0
05.12.2012, 22:46:35
    #38067045
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
ch == "summa" никогда не будет true, это разные объекты. Для сравнения значений надо или сравнивать value, или, что правильней и удобней, пользоваться equals: if (ch.equals("summa")) {} или if (ch.equalsIgnoreCase("summa")).
...
Рейтинг: 0 / 0
05.12.2012, 22:54:59
    #38067051
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
IDVsbruck, спасибо, понятно.
...
Рейтинг: 0 / 0
06.12.2012, 01:03:17
    #38067150
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
Это очень некрасиво написанный парсер. Ведь решение о выходе можно принять сразу-же
если ch.equals("summa") и не дожидаться чтения второй строки. Да и вообще .. как-то
корявенько.
...
Рейтинг: 0 / 0
06.12.2012, 01:11:51
    #38067156
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
mayton,
а что, если левая часть ИЛИ сработает, будет все равно правая проверяться? да и в equals слева лучше сумму поставить.
...
Рейтинг: 0 / 0
06.12.2012, 01:13:14
    #38067157
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
javapecker,
а что, если левая часть ИЛИ сработает, будет все равно правая проверяться?
поторопился
...
Рейтинг: 0 / 0
06.12.2012, 09:17:20
    #38067313
ResidentR6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему не выходит из цикла
Потому что забудь про ==
Надо писать equals.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / почему не выходит из цикла / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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