Вопрос Java. Не пойму как работает for в данном случае.

Регистрация
7 Мар 2013
Сообщения
66
Репутация
0
Спасибо
0
Монет
0
Как работает цикл for в данном случае? И почему System.out.println() выводит число 8 без указания? Берет пример с for который находится в блоке цикла for?

/* Рисуем прямоугольник
Ввести с клавиатуры два числа m и n.
Используя цикл for вывести на экран прямоугольник размером m на n из восьмёрок.
Пример: m=2, n=4
8888
8888
*/

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String s1 = reader.readLine();
int m = Integer.parseInt(s1);
String s2 = reader.readLine();
int n = Integer.parseInt(s2);
for(int a = 1;a<=m;a++)
{
for(int b = 1;b<=n;b++){
System.out.print(8);
}
System.out.println();
}//напишите тут ваш код

}
}
 
Запусти в режиме отладки Debug и тебе станет понятно как оно работает. Там все зависит от фигурных скобок, у тебя второй цикл for(int b = 1;b<=n;b++) находится внутри цикла for(int a = 1;a<=m;a++) . Поэтому у тебя сразу начинает работать 2 цикл, (к примеру int m =5; n =6;) он тебе напечатает в ряд шесть восьмерок, после чего сработает System.out.println(); то есть перейдет на новую строку. и опять начнется 1й цикл, после итерации начинается 2й цикл и все по кругу, пока 1й цикл не будет true Вообще смотри в режиме Debug как все работает, очень понятно
 
8 выводится, потому что там написано System.out.print(8); Цикл работает, начиная с b=1 и заканчивая b=n. System.out.println(); это просто перенос.
 
Назад
Сверху