Java教程

Java 反转数字的程序

Java 程序反转数字

在本程序中,您将学习使用 Java 中的 while 循环和 for 循环来反转数字。
要理解此示例,您应该了解以下Java 编程主题:
Java while 和 do...while 循环 Java for 循环

示例 1: 在 Java 中使用 while 循环反转数字

class Main {
  public static void main(String[] args) {
    int num = 1234, reversed = 0;
    // run loop until num becomes 0
    while(num != 0) {
    
      // get last digit from num
      int digit = num % 10;
      reversed = reversed * 10 + digit;
      // remove the last digit from num
      num /= 10;
    }
    System.out.println("Reversed Number: " + reversed);
  }
}
输出
Reversed Number: 4321
在这个程序中,while循环用于反转一个数字,如下步骤所示:
首先,将 num 除以 10 的余数存储在变量 digit 中。现在,digit 包含 num 的最后一位数字,即 4.
digit 然后添加到变量中,然后将其乘以反转10. 乘以 10 在倒数中增加一个新位置。一位乘以 10 得到第十名,第十名得到一百名,依此类推。在这种情况下,reversed 包含 0 * 10 + 4 = 4、
num 然后除以 10,现在它只包含前三位数字: 123、
第二次迭代后,digit 等于 3,reversed 等于 4 * 10 + 3 = 43 和 num = 12 第三次迭代后,digit 等于 2,reversed 等于 43 * 10 + 2 = 432 和 num = 1 第四次迭代后,digit 等于 1,reversed 等于 432 * 10 + 1 = 4321 和 num = 0 现在 num = 0,所以测试表达式 num != 0 失败,while 循环退出。 reversed 已经包含反向数字 4321、

示例 2: 在 Java 中使用 for 循环反转数字

class Main {
  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);
  }
}
输出
Reversed Number: 7654321
在上面的程序中,while循环被for循环替换,其中:
未使用初始化表达式 测试表达式保持不变(num != 0) 更新/增量表达式包含num/= 10
因此,每次迭代后,更新表达式都会运行,删除 num 的最后一位。
当 for 循环退出时, reversed 将包含反转的数字。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4