Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 17.10.2018, 07:10   #1
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию Не работает условие if()

Здравствуйте!
На С++ таких проблем не было никогда. Здесь - просто не вероятно!
В режиме отладки наблюдаю, как строка для условия продолжения цикла содержит символ продолжающий цикл, более того содержимое выводится на консоль (!), а цикл не продолжается!
Как так?
Код:

  while (true)
        {
            System.out.print("Введите строку: ");
            str2 = in.nextLine();
            String[] words = str2.split("[ ]{1,}");
            String result = words[0];
            result += " ";
            int i;
            for (i = 1; i < words.length - 1; ++i)
                result += words[i] + " ";
            if (i < words.length)
                result += words[i];
            String[] words2 = result.split(" ");
            StringBuilder builder = new StringBuilder();
            for (String s : words2) {
                if (!(isVowel(s.charAt(0)) && s.length() == charCount) && !(isVowel(s.charAt(0)) && (s.length() == 6) && ((s.charAt(5) == '.') || (s.charAt(5) == ',')))) {
                    builder.append(s).append(" ");//Добавляет слово не подходящее под условие в строку
                }
            }
            String rezult2 = builder.toString().trim();
            System.out.println(rezult2);
            System.out.println("Если хотите повторить - введите 1. Если нет - любые символы.");
            str3 = in.nextLine();
            System.out.println(str3);
            if(str3!="1")
            {
                break;
            }
        }

Это уже вариант с бесконечным циклом. Самый первый вариант был цикл do c условием while(str3=="1");
Помогите пожалуйста понять происходящее.
KAMLS вне форума   Ответить с цитированием
Старый 17.10.2018, 09:02   #2
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Сделал так.
Код:

 while (!str3.equals("1"))
        {
            System.out.print("Введите строку: ");
            str2 = in.nextLine();
            String[] words = str2.split("[ ]{1,}");
            String result = words[0];
            result += " ";
            int i;
            for (i = 1; i < words.length - 1; ++i)
                result += words[i] + " ";
            if (i < words.length)
                result += words[i];
            String[] words2 = result.split(" ");
            StringBuilder builder = new StringBuilder();
            for (String s : words2) {
                if (!(isVowel(s.charAt(0)) && s.length() == charCount) && !(isVowel(s.charAt(0)) && (s.length() == 6) && ((s.charAt(5) == '.') || (s.charAt(5) == ',')))) {
                    builder.append(s).append(" ");//Добавляет слово не подходящее под условие в строку
                }
            }
            String rezult2 = builder.toString().trim();
            System.out.println(rezult2);
            System.out.println("Если хотите повторить - введите любые символы или Enter. Если нет - введите 1.");
            str3 = in.nextLine();
        }

KAMLS вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие в PHP - Не работает условие: не выводит сообщение. Ave_Ave_Ave PHP 13 17.06.2016 13:20
Условие не работает Sony_boy Общие вопросы Delphi 2 04.10.2015 09:02
Не работает условие ilyxaaa Общие вопросы Delphi 10 22.09.2014 11:40
Не работает условие!!! VintProg Общие вопросы C/C++ 5 12.08.2011 04:40
[запрос к Бд] не работает условие nuevegramodelamor PHP 2 26.04.2011 14:17


15:51.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru