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

  • 4
  • Недоступна
В древние времена, когда роботов было мало, человеческих детенышей заставляли учить таблицу умножения (какая жестокость!). Сами таблицы печатали на обратной стороне бумажных тетрадок (какое расточительство!). Мы не будем марать бумагу, да и учить таблицу вам ни к чему. Просто выведите её на экран. Ваше главное оружие: цикл while.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (149)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евгений12 уровень, Минск
6 сентября, 23:14
Достаточно 1 переменной и десяти блоков)
Shamil Murzakaev5 уровень, Москва
4 сентября, 09:14
Хочу поделиться решением без ответов, чтобы можно было подумать. Итого 2 цикла и 4 объявленных переменных. В главном цикле смотрим, чтобы встроенный в него цикл прошел 10 раз, потом сбрасываем счетчики встроенного цикла и в главном цикле добавляем счетчик к одной из переменных.
package com.javarush.task.task04.task0434;

/*
Таблица умножения Ӏ Java Syntax: 4 уровень, 10 лекция
*/

public class Solution {
    public static void main(String[] args) {

    int i = ;
    int j = ;
    int n = ;
    int v = ;

    while(n знак 0){
        while(v знак 0){
            System.out.print(i * j + " ");
            счетчик; (буду так писать. Сами думайте минус или плюс)
            счетчик;
        }
       перенос на новую строку;
       сброс условия встроенного цикла;
       счетчик;
       сброс переменной во встроенном цикле;
       счетчик;
    }

    }
}
vzubkeviсh7 уровень, Санкт-Петербург
4 сентября, 23:57
кмк усложнил процесс, 2 переменных мне вполне хватило, зачем 4
Валя0 уровень, Москва
22 августа, 16:57
Всем привет! Хочу поделиться хорошими книгами, статьями, видеоуроками и всеми своими накопленными знаниями по Java и Android разработке. Для этого я завёл телеграм канал: @LetsCodeIt Пополняю его по мере изучения, а также прикрутил туда уютный чат для обмена знаний и моральной поддержки : ) Давайте учиться вместе!
Slobodin Konstantin5 уровень, Хайфа
10 августа, 20:49
2 переменные, 1 цикл, 1 условие. Всё.
Aleks16 уровень, Москва
10 июня, 08:01
С одной стороны, мог бы догадаться по прошлому опыту, но с другой не засчитвать задание из за отсутсвия пробелов в выводе 🙀🙀🙀🙀
Роман6 уровень
8 июля, 08:21
Это одно из условий задания
Igor7 уровень
24 мая, 13:04
Но она не проходит(
Евгений19 уровень, Екатеринбург
20 мая, 16:33
Мне кажется или мы уже делали эту задачу где-то в начале с пометкой hard?
Alexey7 уровень, Москва
31 мая, 06:53
Там не было требования про использование while
Mihail Klimenko9 уровень, Краснодар
14 мая, 12:59
3 переменные, 3 цикла while(), 1 вывод на экран строки с числами через пробел, второй вывод на кран - пробел с новой строки. Решил с 1 попытки
Илья Ненашев6 уровень, Самара
16 мая, 16:57
зачем здесь нужны переменные?
Mihail Klimenko9 уровень, Краснодар
17 мая, 05:36
Переменные нужны для валидной работы программы. Мое решение не оптимальное, я уже знаю, как его апгрейдить. Две переменные я использовал во внутреннем цикле while(), они помогали заполнять строку значениями таблицы умножения. Еще одна переменная в среднем цикле переносила вывод значений на новую строку
Shdbdbd Susjebj17 уровень, Махачкала
10 июня, 10:22
Скинь мне в личку код, пожалуйста, если он у тебя остался. А-то я три часа вожусь, ничего толкового из этого не выходит
Slobodin Konstantin5 уровень, Хайфа
10 августа, 20:48
3 цикла? Оно одним решается. Можно двумя, но тогда лучше FOR использовать.
Илья Ненашев6 уровень, Самара
12 августа, 18:33
неплохое решение
Виталий5 уровень, Москва
16 апреля, 20:01
int a = 1; int b = 1; while (a <= 10) { while (b <= 9) { System.out.print(a * b + " "); b++; } System.out.println(a * b); b = 1; a++; } Получился такой код, только я так и не понял, почему во втором while пришлось брать b <= 9, а не 10.
Юрий Лубенченко17 уровень, Киев
20 апреля, 11:49
Не уверен, что могу правильной терминологией описать, как я это вижу. Внутренний цикл while, в котором приращивается b, завершается на девятой позиции в строке. Когда при последнем b++ мы получили 10 - этот цикл не срабатывает и, во уже внешнем while: System.out.println(a * b); - мы умножаем а на десятку(b) и переносим строку... Получается, что когда b==10, идет уже выполнение внешнего цикла, так как внутренний не сработал.
mrE26 уровень, Братск
26 апреля, 09:54
Потому что вначале печатается результат с пробелом внутри цикла - там умножается до 9, а потом значение b увеличивается еще на 1 и становится 10, после чего печатается произведение на 10 с переносом на другую строку. Если хотите сделать второй while до 10 - надо начать с 0, вначале прибавлять 1, а потом делать вывод на экран.
Сергей5 уровень
26 мая, 03:11
если не трудно, то почему во внещнем цикле b надо снова к 1 приравнивать?
Pavel_Robot5 уровень, Москва
29 мая, 22:14
b берет значение "1" из переменной, той, что создана наверху, над циклами, только один раз, при первом старте внутреннего цикла, дальше b постоянно изменяется и когда внутренний цикл b завершен, b не единица, затем стартует внешний цикл, увеличивается a и если b снова не присвоить единицу, внутренний цикл не стартанет, т.к. b больше 9.
Shdbdbd Susjebj17 уровень, Махачкала
10 июня, 09:38
так этот код же не подходит. нужно, чтоб таблица умножения была 10х10
Алексей5 уровень, Москва
12 июня, 16:36
у меня такое же решение, но я не присваивал переменной b значение 1 в первом цикле (мы его вроде как присвоили до цикла)
Максим "Evengarr" Меднов7 уровень, Москва
9 сентября, 21:59
если int b переместить после первой {, то писать b=1 повторноно не нужно
Максим "Evengarr" Меднов7 уровень, Москва
9 сентября, 22:01
перенсите int b за первую {, и сделайте b < 10, все будет работать и без лишних ухищрений))
Drew19 уровень, Москва
29 марта, 11:30
Для перфекционистов: если делать вывод
System.out.println(a * b +  "\t")
то будут получаться красивые таблицы. Но валидатору они не нравятся(
Glock13 уровень, Энгельс
12 апреля, 15:36
хотел тоже самое написать, но только в IDE все пропустил.
RFedorenkov41 уровень, Москва
12 апреля, 21:28
для перфекционистов надо через printf()
System.out.printf("%3d ", a * b);
Валидатор хавает) а не нравится, потому что println()
Александр7 уровень, Санкт-Петербург
8 июня, 21:43
"%3d" - вот это вот как читается и что означает?
Хтрмдр6 уровень, Екатеринбург
11 июля, 06:41
printf - обеспечивает форматирование строк. Мы определяем правила форматирования с помощью параметра format . Правила начинаются с символа ‘%’ . d - форматирует десятичные целые числа. https://www.codeflow.site/ru/article/java-printstream-printf