Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 26.07.2012
Сообщений: 51
1

Не завершается цыкл

16.01.2020, 08:32. Показов 1127. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет

Для интереса решил вникнуть как в java реализуются циклы и столкнулся и проблемой, чисто теоретически, как я себе представляю, оно правильно и цикл должен закончится при условии: learch_start == all_chares_string.length()...


По сути, изначально: learch_start = 0, во время прохождения цикла он увеличивается на 1 (считываю символы со строки test по одному), если я ничего не путаю, в какой-то момент (если новых символов не будет), в теории, условие learch_start == all_chares_string.length() будет истинным и должно получится 4=4, т.к. в строке test 4 символа, в результате выполнится break; и цикл завершится на этом, но на самом деле не завершается)

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package fortestarr;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.ArrayList;
 
public class ArrList {
 
    public static void main(String[] args) {
 
        
        String test = "test";
        Reader inputString = new StringReader(test);
        BufferedReader reader = new BufferedReader(inputString);
        
    
        try {
            ArrayList<String> all_chares_list = new ArrayList<String>();
            String one_character = "";
            int learch_start = 0;
                        
            for (int c = 0; (c = reader.read()) > -1;) {
                one_character = Character.toString(c);
                all_chares_list.add(one_character);
                
                String all_chares_string = "";
                for(int i =0;i<all_chares_list.size();i++){
                    all_chares_string = all_chares_string+all_chares_list.get(i);
                }
                
                if (learch_start == all_chares_string.length())
                {
                    System.out.println("Done: "+all_chares_string.length()+" = "+all_chares_string.length());
                    break;
                }
 
                System.out.println(learch_start+"--------------------------"+all_chares_string.length());
                learch_start = all_chares_string.length();
 
            }
                    
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}
Результат который получаю:
0--------------------------1
1--------------------------2
2--------------------------3
3--------------------------4

Подскажите, пожалуйста, в чем моя ошибка, мне кажется где-то на поверхности...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2020, 08:32
Ответы с готовыми решениями:

Батник и процесс: то завершается, но не завершается
Доброго. В общем, на свои нужды писал я батник, в котором цикл запусков/работы с...

Цыкл (звездочки)
Здраствуйте. Мне задали задание нарисовать с помощью цыклов вот такую штуку ...

Цыкл на питоне
import math sqrt=math.sqrt cos=math.cos ln=math.log10 a=float(raw_input(&quot;Vedity chislo a:&quot;)) #...

Простой цыкл
1) Дано натуральные числа a,b,l(a&lt;=b).Проверить, выполняется гипотеза Безу для каждого...

1
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
16.01.2020, 09:14 2
Лучший ответ Сообщение было отмечено k_eo как решение

Решение

k_eo, 26-ю строку сделай так all_chares_list.add(one_character);} а где-то ниже убери "}"
вообще, прочти это https://www.cyberforum.ru/java/thread2250765.html и про оформление кода в java
1
16.01.2020, 09:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2020, 09:14
Помогаю со студенческими работами здесь

вложеный цыкл
напечатать числа в виде следующей таблицы 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

исправить цыкл
помогите исправить цыкл в программе: unit Unit1; interface uses Windows, Messages,...

Цыкл времени
У меня такая проблема: как создать цикл времени, есть два dateTimePicker1 и dateTimePicker2, нужно...

Chart и цыкл
Здраствуйте. Такая задачка, у меня есть Chart с 10 series -ами. И есть цыкл for i:=1 to 10 do begin...

Цыкл с массива
Подскажите как вывести цыклом массив. Данный массив записан в $responces и имеет id и значение. А...

Pascal цыкл
Мне дали задание написать программу используя любые 2 цыкла. Обчислеть суму квадратов всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru