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

Java实现kg转lb转换表程序仅显示公斤无磅数问题排查

公斤转磅Java程序修复方案

原代码问题清单

  • 缺少java.util.Scanner包导入,编译无法通过
  • 存在多余输入逻辑:获取用户输入的起始值后,额外写了两句输入读取代码,会导致程序无理由等待用户额外输入两次
  • 循环范围写死:固定从20循环到29,没有使用用户输入的起始值生成数据,不符合自定义起始值的需求
  • 输出格式错误:printf仅配置了1个占位符,传入了公斤、磅两个参数,导致磅数无法输出,也没有做列对齐处理
  • 缺少资源释放和表格收尾逻辑:Scanner使用后未关闭,没有输出表格底部标识

修复后完整代码

import java.util.Scanner;

public class kgToLbs1 {
    public static void main(String[] args) {
        final double LB_PER_KG = 2.2;
        // 初始化输入工具
        Scanner input = new Scanner(System.in);
        // 提示用户输入起始值
        System.out.println("Enter beginning value ===>  ");
        int begVal = input.nextInt();
        // 输出表头
        System.out.println("-------------------------");
        System.out.printf("%-15s|%s%n", "Kilograms", "Pounds");
        System.out.println("-------------------------");
        // 计算结束值,总共输出10条
        int endValue = begVal + 9;
        // 循环生成转换数据
        for (int i = begVal; i <= endValue; i++) {
             System.out.printf("%-15d|%.2f%n", i, (i * LB_PER_KG));
        }
        // 输出表尾
        System.out.println("-------------------------");
        // 关闭输入流
        input.close();
    }
}

修复后效果说明

  • 程序启动后仅需要用户输入一次起始公斤值
  • 自动生成从起始值开始连续10条转换数据,增量为1公斤
  • 表格两列对齐,磅数保留2位小数,格式清晰
  • 自动释放Scanner资源,避免资源泄漏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:27:06