Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 5

Изменить цикл "for" на цикл "while"

03.03.2013, 19:21. Показов 2113. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Прошу помощи! Есть Java код. Он выводит сообщение на экран, с разбросанными буквами. Нужно его переписать используя вместо цикла "for" цикл "while". Помогите пожалуйста!!! Код прикладываю ниже. Скомпилируйте и посмотрите как он работает. Зарание благодарен!
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
52
53
54
55
56
57
58
59
public class WindyString {
    public static void main(String[]args){
         System.out.println(WindyString.blow("Abrakadabra!          The    second  chance to pass has already BEGUN! "));
    }
    public static String blow(String x) {
 
        String kopia = x;
        String[] tab = kopia.split(" ");
        String gora = "";
        String srodek = "";
        String dol = "";
 
        for (int i = 0; i < tab.length; i++) {
            if (tab[i].equals("")) continue;
            String a = tab[i];
            char[] slowo = a.toCharArray();
            if (i % 2 != 0 || i == 0) {
                for (int j = 0; j < a.length(); j++) {
                    if (slowo[j] == 'a' || slowo[j] == 'e' || slowo[j] == 'i'
                            || slowo[j] == 'o' || slowo[j] == 'u'
                            || slowo[j] == 'y' || slowo[j] == 'A'
                            || slowo[j] == 'E' || slowo[j] == 'I'
                            || slowo[j] == 'O' || slowo[j] == 'U'
                            || slowo[j] == 'Y') {
 
                        dol += slowo[j];
                        srodek += " ";
                    }else {
                        dol += " ";
                        srodek += slowo[j];
                    }
                    gora += " ";
                }
            }
            else {
                for (int j = 0; j < a.length(); j++) {
                    if (slowo[j] == 'a' || slowo[j] == 'e' || slowo[j] == 'i'
                            || slowo[j] == 'o' || slowo[j] == 'u'
                            || slowo[j] == 'y' || slowo[j] == 'A'
                            || slowo[j] == 'E' || slowo[j] == 'I'
                            || slowo[j] == 'O' || slowo[j] == 'U'
                            || slowo[j] == 'Y') {
 
                        gora += slowo[j];
                        srodek += " ";
                    }else {
                        gora += " ";
                        srodek += slowo[j];
                    }
                    dol += " ";
                }
            }
                gora += "   ";
                srodek += "   ";
                dol += "   ";
        }
        return gora + "\n" + srodek + "\n" + dol;
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2013, 19:21
Ответы с готовыми решениями:

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать учесть особенности получения квадратного...

Написать цикл for, который выводит на экран в столбец числа от 0.3 до 2.7 с шагом 0.2. Переписать этот цикл в цикл while
Пожалуйста помогите с задачами 1.Написать цикл for, который выводит на экран в столбец числа от 0.3 до 2.7 с шагом 0.2. Переписать этот...

Вычислить и вывести сумму чётных целых чисел в интервале от 1 до n: 1) цикл «ДО» 2) цикл «ПОКА» 3) цикл «ДЛЯ»
Вычислить и вывести сумму чётных целых чисел в интервале от 1 до n: 1. цикл «ДО» 2. цикл «ПОКА» 3. цикл «ДЛЯ»

8
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 3
03.03.2013, 21:57
To Shaba16311: для начала хотябы опишите что сей код делать собственно должен???

Добавлено через 39 минут
Если на скорую руку, не знаю как оценят умельцы, но я бы сделал так:

строки 13, (18, 36) заменил бы соответственно на

Java
1
while (i<tab.length)
и

Java
1
while (j<a.length)
соответственно,
и перед завершением каждого цикла указал инкрементирование i++; и j++; соответственно.

i и j требуют инициализации.
0
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 5
03.03.2013, 22:03  [ТС]
Данная программа, при компиляции должна выводить сообщение :

Java
1
2
3
                    e              a  e         a           a  ea y                         
   br k d br !    Th    s c nd   ch nc    t    p ss   h s    lr  d    B G N!
  A  a a a  a            e o               o           a               E U
А написана она должна быть с использованием вот этого кода:
Java
1
System.out.println(WindyString.blow("Abrakadabra!          The    second  chance to pass has already BEGUN! "));
Собственно код который выше, полность рабочий и он выполняет все эти условия. Но, кто то может его писать, что бы там вместо цикла for использовался цикл while.
0
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 3
03.03.2013, 22:03
Также думаю полезным будет использование в качестве сравнения символов регулярных выражений, описанных подключаемым модулем java.util.regex. Это прилично сократит объем кода и оптимизирует его.
0
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 5
03.03.2013, 22:12  [ТС]
TopRider, Внес изминения которые, Вы, посоветовали. Код перестал компилироватся. Объявил переменные int i;
и int j; присвоил им нулевое значения. Поменял цикл на while. В коде ошибок нет, но при компиляции Eclipse ругаеться. В чем проблема??? В первом посте все работает. Как же правильно поменять???
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
52
53
54
55
56
57
58
59
60
61
62
63
64
public class Hello {
    public static void main(String[]args){
         System.out.println(Hello.blow("Abrakadabra!          The    second  chance to pass has already BEGUN! "));
    }
    public static String blow(String x) {
 
        String kopia = x;
        String[] tab = kopia.split(" ");
        String gora = "";
        String srodek = "";
        String dol = "";
        int i = 0;
        int j = 0;
 
        while (i<tab.length) {
            i++;
            if (tab[i].equals("")) continue;
            String a = tab[i];
            char[] slowo = a.toCharArray();
            if (i % 2 != 0 || i == 0) {
                while (j<a.length()) {
                    j++;
                    if (slowo[j] == 'a' || slowo[j] == 'e' || slowo[j] == 'i'
                            || slowo[j] == 'o' || slowo[j] == 'u'
                            || slowo[j] == 'y' || slowo[j] == 'A'
                            || slowo[j] == 'E' || slowo[j] == 'I'
                            || slowo[j] == 'O' || slowo[j] == 'U'
                            || slowo[j] == 'Y') {
 
                        dol += slowo[j];
                        srodek += " ";
                    }else {
                        dol += " ";
                        srodek += slowo[j];
                    }
                    gora += " ";
                }
            }
            else {
                while (j<a.length()) {
                    j++;
                    if (slowo[j] == 'a' || slowo[j] == 'e' || slowo[j] == 'i'
                            || slowo[j] == 'o' || slowo[j] == 'u'
                            || slowo[j] == 'y' || slowo[j] == 'A'
                            || slowo[j] == 'E' || slowo[j] == 'I'
                            || slowo[j] == 'O' || slowo[j] == 'U'
                            || slowo[j] == 'Y') {
 
                        gora += slowo[j];
                        srodek += " ";
                    }else {
                        gora += " ";
                        srodek += slowo[j];
                    }
                    dol += " ";
                }
            }
                gora += "   ";
                srodek += "   ";
                dol += "   ";
        }
        return gora + "\n" + srodek + "\n" + dol;
    }
}
0
Музыка нас Связала
 Аватар для Fonduee
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
03.03.2013, 22:20
1. Инициализацию бы непосредственно перед циклом делать
2. Инкремент в конце тела цикла
0
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 5
03.03.2013, 22:25  [ТС]
Цитата Сообщение от Fonduee Посмотреть сообщение
1. Инициализацию бы непосредственно перед циклом делать
2. Инкремент в конце тела цикла
А по подробней? Куда и после какой строки, что вставить? Зарание спасибо!!!
0
10 / 36 / 7
Регистрация: 04.03.2013
Сообщений: 184
04.03.2013, 01:46
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[JAVA]public class Hello {
    public static void main(String[]args){
         System.out.println(Hello.blow("Abrakadabra!          The    second  chance to pass has already BEGUN! "));
    }
    public static String blow(String x) {
 
        String kopia = x;
        String[] tab = kopia.split(" ");
 
        String gora = "";
        String srodek = "";
        String dol = "";
        int i = 0;
 
 
        while (i<tab.length) {
 
            if (tab[i].equals("")){ i++;continue; }
            String a = tab[i];
            char[] slowo = a.toCharArray();
            if (i % 2 != 0 || i == 0) {
                 int j = 0;
                while (j<a.length()) {
 
                    if (slowo[j] == 'a' || slowo[j] == 'e' || slowo[j] == 'i'
                            || slowo[j] == 'o' || slowo[j] == 'u'
                            || slowo[j] == 'y' || slowo[j] == 'A'
                            || slowo[j] == 'E' || slowo[j] == 'I'
                            || slowo[j] == 'O' || slowo[j] == 'U'
                            || slowo[j] == 'Y') {
 
                        dol += slowo[j];
                        srodek += " ";
                    }else {
                        dol += " ";
                        srodek += slowo[j];
                    }
                    gora += " ";
                      j++;
                }
            }
            else {
                     int j = 0;
                while (j<a.length()) {
 
                    if (slowo[j] == 'a' || slowo[j] == 'e' || slowo[j] == 'i'
                            || slowo[j] == 'o' || slowo[j] == 'u'
                            || slowo[j] == 'y' || slowo[j] == 'A'
                            || slowo[j] == 'E' || slowo[j] == 'I'
                            || slowo[j] == 'O' || slowo[j] == 'U'
                            || slowo[j] == 'Y') {
 
                        gora += slowo[j];
                        srodek += " ";
                    }else {
                        gora += " ";
                        srodek += slowo[j];
                    }
                    dol += " ";
                      j++;
                }
            }
                gora += "   ";
                srodek += "   ";
                dol += "   ";
                   i++;
        }
        return gora + "\n" + srodek + "\n" + dol;
    }
}
[/JAVA]
0
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 5
04.03.2013, 02:00  [ТС]
Freeman666, ОГРОМНОЕ СПАСИБО ДРУЖИЩЕ))))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2013, 02:00
Помогаю со студенческими работами здесь

Игра слов. Как изменить код, чтобы был цикл только для user_name1/2_answer, а для остального кода цикл не прописывать?
Здравствуйте! Я начал изучать python. Сегодня я защищал эту работу. Я знаю, что код не самый удачный, но вроде как работает. Я бы не...

необходимо на паскале написать три программы ( цикл с параметром, цикл с постусловием и цикл с предусловием)
Помогите пожалуйста!!! необходимо на паскале написать три программы ( цикл с параметром, цикл с постусловием и цикл с предусловием). Очень...

необходимо на паскале написать три программы ( цикл с параметром, цикл с постусловием и цикл с предусловием)
Помогите пожалуйста!!! необходимо на паскале написать три программы ( цикл с параметром, цикл с постусловием и цикл с предусловием). Очень...

Изменить цикл while на цикл for
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { double a,e,n; n=101; a=1/103; while (n&gt;0) { ...

Изменить цикл for на цикл do-while
помогите передать программу с цикла FOR в цикл DO-WHILE #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru