You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java三角形打印程序中添加输入校验及错误退出逻辑?

解决Java三角形输入验证的问题

嘿,这事儿不难!咱们可以在获取用户输入之后立刻加个判断逻辑,确保输入的行数符合要求,而且完全不会影响原来打印三角形的代码逻辑。下面是完整的实现代码,我再给你拆解说明:

import java.util.Scanner;

public class Triangle {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 获取用户输入的行数
        System.out.print("请输入三角形的行数:");
        int rows = scanner.nextInt();
        
        // 输入验证:行数小于1时输出错误并退出
        if (rows < 1) {
            System.out.println("错误:行数必须大于等于1!");
            scanner.close();
            System.exit(1); // 终止程序,不会执行后面的打印逻辑
        }
        
        // 原有打印居中三角形的逻辑,完全保留不动
        for (int i = 1; i <= rows; i++) {
            // 打印前置空格实现居中
            for (int j = rows - i; j > 0; j--) {
                System.out.print(" ");
            }
            // 打印星号
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("*");
            }
            // 换行
            System.out.println();
        }
        
        scanner.close();
    }
}

关键说明:

  • 输入验证逻辑:在获取到用户输入的rows之后,立刻判断是否小于1。如果是,就输出错误提示,然后调用System.exit(1)退出程序——这样后面的三角形打印代码根本不会执行,完美保留了原有逻辑的独立性。
  • 资源释放:退出前别忘了关闭Scanner,养成良好的资源管理习惯。
  • 原有逻辑完全保留:打印三角形的双层循环代码一点都没改,完全符合你“不破坏原有程序逻辑”的要求。

测试一下:

  • 输入5:正常打印5行的居中三角形;
  • 输入0或者-3:立刻输出错误信息并退出,不会执行打印操作。

内容的提问来源于stack exchange,提问作者user9421523

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:35:01