Таблица умножения Ӏ Java Syntax: 3 уровень, 6 лекция

  • 6
  • Недоступна
В древние времена, когда роботов было мало, человеческих детенышей заставляли учить таблицу умножения (какая жестокость!). Сами таблицы печатали на обратной стороне бумажных тетрадок (какое расточительство!). Мы не будем марать бумагу, да и учить таблицу вам ни к чему. Просто выведите её на экран. Ваше главное оружие: цикл while.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (486)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Сергей Подлесный 3 уровень, Санкт-Петербург
13 января, 14:19
В задании указано, что нужно использовать цикл while, а когда посмотрел правильное решение, то там используется цикл for... Как так?
Dmitry economic security
24 декабря 2020, 18:50
https://javarush.ru/groups/posts/1876-operator-while - это поможет для решения
Dmitry economic security
24 декабря 2020, 18:51
DDAlex 4 уровень, Алматы
23 декабря 2020, 21:19
Решил задачу усложнить и написать Пифагора для значений от 10 до 20. Если кто сможет в 2-3 цикла уложить, плиз скиньте код. У меня в 11 получилось.
Алексей Шамашов 6 уровень, Санкт-Петербург
2 января, 10:17
DDAlex 4 уровень, Алматы
23 декабря 2020, 13:12
Вообще, эта задача решается двумя циклами for. Почему на обложке задания указан цикл while? Один внешний, другой внутренний (ищите тему в инете вложенные циклы). Но пока навыков не хватило самостоятельно написать программу таким способом. Пришлось сделать 10 циклов for: for(int i=1; i<11; i++) { System.out.print(i + " "); } System.out.println(); for(int i=1; i<11; i++) { System.out.print(i*2 + " "); } System.out.println(); .................. и так далее, где в каждом последующем цикле при выводе на печать умножаем i на большее число, увеличенное на единицу, то есть в начале просто i, потом i*2, .... i*10. В начале использовал метод printf с параметром %4d printf("%4d", i) и т.д. printf("%4d", i*10) чтобы строчки вышли красивыми и ровными. Так и вышло всё ровно, точно и красиво. Через компилятор прошло, а вот валидатор не пропустил. Потому что по одному из условий все числа должны быть разделены пробелом. А здесь в методе printf параметр больше одного пробела. Пришлось убрать printf и заменить на print, просто указав на выводе " " как делали раньше в разных задачах. Теперь валидатор пропустил и я успешно решил задачу, но строчки вышли кривыми, особенно под конец, потому что там больше символов - числа идут все 2-х значные и 100 вообще трёхзначное. Одного пробела недостаточно. Мне кажется условие про 1 пробел надо поменять в задаче на более рациональное - "разделены минимум 1 пробелом". Кому интересно форматирование чисел и текста в java в методе print, вот ссылка на сайт и лекцию: http://study-java.ru/uroki-java/formatirovanie-chisel-i-texta-v-java/ Очень хорошая и ёмкая лекция.
Мурат Backend Developer в top secret
14 декабря 2020, 13:01
Два цикла) Один в другом
Daniil 8 уровень, Новосибирск
10 декабря 2020, 15:48
10 циклов for и все готово.
Super Style 7 уровень, Москва
7 декабря 2020, 15:27
сделал так, циклы мне пока чужды. System.out.println("1 "+"2 "+"3 "+"4 "+"5 "+"6 "+"7 "+"8 "+"9 "+"10 "); System.out.println("2 "+"4 "+"6 "+"8 "+"10 "+"12 "+"14 "+"16 "+"18 "+"20 "); System.out.println("3 "+"6 "+"9 "+"12 "+"15 "+"18 "+"21 "+"24 "+"27 "+"30 "); System.out.println("4 "+"8 "+"12 "+"16 "+"20 "+"24 "+"28 "+"32 "+"36 "+"40 "); System.out.println("5 "+"10 "+"15 "+"20 "+"25 "+"30 "+"35 "+"40 "+"45 "+"50 "); System.out.println("6 "+"12 "+"18 "+"24 "+"30 "+"36 "+"42 "+"48 "+"54 "+"60 "); System.out.println("7 "+"14 "+"21 "+"28 "+"35 "+"42 "+"49 "+"56 "+"63 "+"70 "); System.out.println("8 "+"16 "+"24 "+"32 "+"40 "+"48 "+"56 "+"64 "+"72 "+"80 "); System.out.println("9 "+"18 "+"27 "+"36 "+"45 "+"54 "+"63 "+"72 "+"81 "+"90 "); System.out.println("10 "+"20 "+"30 "+"40 "+"50 "+"60 "+"70 "+"80 "+"90 "+"100 ");
Ilia Fesenko 14 уровень
22 декабря 2020, 22:21
Ошибку делаешь, без циклов потом никуда
Super Style 7 уровень, Москва
23 декабря 2020, 07:45
уже разобрался )
Alex 9 уровень, Харьков
27 ноября 2020, 21:03
таблицы умножения на 10 не существует! 😒
Денис Пшеничный 16 уровень, Киев
15 ноября 2020, 17:00
Сидел, пописал 15 минут через кучу циклов и 20 строк кода, всё таки решил воспользоваться помощью дебага.. Понятное дело, я изначально понимал, что нужно использовать 2 цикла и счётчик , но как сделать хз) Я такой лентяй, мне даже было лень думать) Короче: Представим часы!) цикл While - минутная стрелка, For - секундная стрелка. 1)Цикл while - это основной цикл, который каждый раз, после работы цикла for, будет нас переносить на следующую строку(с помощью System.out.println() ) и прибавлять 1 единицу (a++) в переменную а. 2)В то время, цикл for крутит себя 10 раз и выкидывает в ряд ( System.out.print(b+" "); ) через пробел" " перемноженное значение переменной b (b=a*i;) int a = 1; int b = 1; while (a!=11){ - первый цикл(он сделает еще 10 циклов) сейчас а=1 for (int i = 1; i<=10;i++){ - счётчик for крутится 10 раз(i<=10;), после каждого раза (int i) увеличивается на 1, то есть(i++), b=a*i; - b=1*1 умножаем на (i) которое увеличивается на 1 после каждого цикла for, т.е. до b=1*10. System.out.print(b+" "); - выводим в каждом цикле значение (b) друг за другом. примерно так 1 2 3 4 5 6 7 8 9 10 } - for цикл закончился System.out.println(); - сейчас в цикле while, и переносимся на новую строку a++; - теперь int a = 2; } - конец цикла while , следующие while (а=2) и поехали по новой.
Денис Пшеничный 16 уровень, Киев
15 ноября 2020, 18:03
IwanIV 9 уровень
16 ноября 2020, 21:42
Объясни зачем ты писал вот эту строчку while "(a!=11)", если в цикле у тебя стоит 10, больше 10 итераций цикл не сделает...
Andrey Tverdostup 7 уровень
17 ноября 2020, 18:19
Где в цикле стоит 10, если переменная а = 1; ? while(a!=11) - читает как - выполняй цикл, пока а Неравно(!=) 11. Наше а равно нулю. Наше а увеличивается внизу кода, после того, как цикл for сделает 10 итераций.
Евгений Кудрин Android Developer
20 декабря 2020, 08:26
while (a<=10) сделал
Ренат Закира Android Developer
11 ноября 2020, 19:43
Подсказка)) Код получается на 20 строк, по крайней мере у меня так получилось. While прекрасно работает, только нужно не много подумать. Счетчик выводимых строк увеличиваем в самом While, caunt++;