Java编程实现:单变量完成0到X及X到0的数字输出
用Java实现单变量的递增/递减输出
这是个挺有意思的编程小挑战!要只用一个变量实现从0到X的递增输出,再从X到0递减,其实关键是利用好变量的状态变化——接收输入的X不算在“借助的变量”里(题目强调的是实现输出逻辑仅用一个变量),我们只需要用一个遍历变量就能完成任务。
实现思路
- 先接收用户输入的数值X;
- 用单个变量(比如
num)完成递增遍历:从0开始,每次输出当前值,直到达到X; - 递增循环结束后,
num的值会变成X+1,只需要把它减1回到X; - 接着用同一个变量完成递减遍历:从X开始,每次输出当前值,直到回到0。
完整代码示例
import java.util.Scanner; public class IncrementDecrement { public static void main(String[] args) { // 接收用户输入的X Scanner scanner = new Scanner(System.in); int x = scanner.nextInt(); scanner.close(); // 仅借助这一个变量完成所有遍历操作 int num; // 递增输出:从0到X for (num = 0; num <= x; num++) { System.out.println(num); } // 调整变量状态回到X,准备递减 num--; // 递减输出:从X到0 for (; num >= 0; num--) { System.out.println(num); } } }
用While循环的版本
如果你更喜欢while循环的写法,逻辑是完全一致的:
import java.util.Scanner; public class IncrementDecrement { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int x = scanner.nextInt(); scanner.close(); int num = 0; // 递增输出 while (num <= x) { System.out.println(num); num++; } // 回到X num--; // 递减输出 while (num >= 0) { System.out.println(num); num--; } } }
这样就完全符合题目要求了:只用了一个额外变量num,就完成了两次遍历输出,没有借助任何其他临时变量。
内容的提问来源于stack exchange,提问作者BDeveloper
相关产品推荐
相关产品推荐

