改造Java倒计时代码 实现用户输入起始值每行输出10个数值
改造后的完整可运行代码
import java.util.Scanner; public class StayPositive { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 读取用户输入的倒计时起始值 System.out.print("请输入倒计时的起始值:"); int start = scanner.nextInt(); scanner.close(); if (start < 0) { System.out.println("错误:起始值不能为负数"); return; } System.out.println("Counting down.."); int lineCounter = 0; int current = start; while (current >= 0) { // 空格分隔输出数值,不换行 System.out.print(current + " "); lineCounter++; // 每行满10个数值自动换行 if (lineCounter % 10 == 0) { System.out.println(); } current--; } // 最后一行不足10个时补换行,避免后续输出粘连 if (lineCounter % 10 != 0) { System.out.println(); } } }
功能说明
- 引入
Scanner工具类实现用户交互,程序启动后会先提示用户输入倒计时起始值,支持自定义任意非负整数作为倒计时起点 - 新增行计数器变量,每输出1个数值计数器加1,当计数器为10的倍数时自动触发换行,严格保证每行显示10个数值
- 增加了非法输入校验逻辑,若用户输入负数会直接抛出错误提示并终止运行,避免逻辑异常
- 如果需要数值对齐更美观,可以把输出语句替换为
System.out.printf("%4d", current),固定每个数值占4位宽度,显示效果更规整
内容的提问来源于stack exchange,提问作者minhas
相关产品推荐
相关产品推荐

