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

Java打印1到10及其立方根、平方根、平方、立方值的表格问题求助

问题原因及修正代码

原有代码错误点

  • 循环起始值不符合需求:需求是输出1-10的数值,原代码i从0开始遍历
  • printf用法错误:格式串仅定义了1个整型占位符%6d,实际每次调用只会输出第一个参数i的值,后续拼接的字符串参数不会被识别
  • 冗余的内层循环:不需要通过j循环输出每一列,直接在printf中定义所有列的格式即可
  • 格式符不匹配:立方根、平方根为浮点型数值,不能使用整型格式符%d输出

修正后代码

public class NumberTable {
    public static void main(String[] args) {
        // 输出表头
        System.out.printf("%6s%10s%10s%6s%6s\n", "数字", "立方根", "平方根", "平方", "立方");
        // 遍历1到10
        for (int i = 1; i <= 10; i++) {
            double cubeRoot = Math.cbrt(i);
            double sqrt = Math.sqrt(i);
            int square = i * i;
            int cube = i * i * i;
            // 按格式输出行,浮点型保留2位小数
            System.out.printf("%6d%10.2f%10.2f%6d%6d\n", i, cubeRoot, sqrt, square, cube);
        }
    }
}

输出效果说明

运行上述代码后会输出对齐的表格,浮点型数值默认保留2位小数,可根据需求调整格式串中.2f的数字修改小数保留位数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:06:00