В этой программе вы научитесь обращать число, используя цикл while и for в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Java while и do … while Loop
- Java для цикла
Пример 1. Изменение числа на обратное с помощью цикла while в Java
public class ReverseNumber ( public static void main(String() args) ( int num = 1234, reversed = 0; while(num != 0) ( int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; ) System.out.println("Reversed Number: " + reversed); ) )
Вывод
Обратный номер: 4321
В этой программе цикл while используется для изменения числа, как указано в следующих шагах:
- Во-первых, остаток от деленного на 10 числа сохраняется в разряде переменной. Теперь цифра содержит последнюю цифру числа, то есть 4.
цифра затем добавляется к переменной, перевернутой после умножения ее на 10. Умножение на 10 добавляет новое место в перевернутом числе. Умножение одного места на 10 дает вам десятое место, десятое - сотое и так далее. В этом случае перевернутое содержит 0 * 10 + 4 = 4.
Затем число делится на 10, так что теперь оно содержит только первые три цифры: 123. - После второй итерации цифра равна 3, перевернутая равна 4 * 10 + 3 = 43 и num = 12.
- После третьей итерации цифра равна 2, перевернутая равна 43 * 10 + 2 = 432 и num = 1
- После четвертой итерации цифра равна 1, перевернутая равна 432 * 10 + 1 = 4321 и num = 0
- Теперь num = 0, поэтому тестовое выражение
num != 0
не выполняется и цикл while завершается. reverse уже содержит перевернутый номер 4321.
Пример 2: изменение числа на обратное с помощью цикла for в Java
public class ReverseNumber ( public static void main(String() args) ( int num = 1234567, reversed = 0; for(;num != 0; num /= 10) ( int digit = num % 10; reversed = reversed * 10 + digit; ) System.out.println("Reversed Number: " + reversed); ) )
Вывод
Обратный номер: 7654321
В приведенной выше программе цикл while заменен циклом for, где:
- выражение инициализации не используется
- тестовое выражение остается прежним (
num != 0
) - Выражение обновления / увеличения содержит
num /= 10
.
Итак, после каждой итерации выполняется выражение обновления, которое удаляет последнюю цифру числа.
Когда цикл for завершается, обратное число будет содержать обратное число.