public class Solution {
public static void main(String[] args) {
int a = 1;
while (a <= 10) {
int b = 1;
while (b <= 20) {
if (a == 1 || a == 10) {
System.out.print("Б");
}
else if (b == 1 || b == 20) {
System.out.print("Б");
}
else {
System.out.print(" ");
}
b++;
}
System.out.println();
}
a++;
Дядя Ваня
4 уровень
печатает сплошные "Б" буз пробелов не могу найти где ошибка
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
6 мая, 22:36
Стандартный совет по этой задаче:
Почему-то все пытаются решить эту задачу за один цикл и вложенный в него цикл, которые проходят строку за строкой и позицию за позицией. При этом при каждой итерации с помощью ифов программа спрашивает сама себя, где она находится (а не впервой ли строке я? А не впоследней ли строке я? А не впервой ли позиции? А не в последней ли позиции?) и по результату печатает либо букву, либо пробел. Это говорит о беспомощности - программа должна сама знать, где она находится и что ей печатать и не спрашивать это каждый раз.
В условии не говорится, что надо решить именно так. Свитч ё майнд, реши в три приёма.
Разбей задачу на три составляющие, реши каждую наипростейшим способом. Профит в том, что такой алгоритм не спросит 800 раз (по 4 за итерацию), где он находится и что ему рисовать, потому что точно это знает.
0
Стас Пасинков Software Developer в Zipy Master
6 мая, 21:45
a++ у вас поза першим циклом, як я бачу
0