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

如何在Java的for循环中输出星号?现有代码需从输出数字修改

问题:将数字输出的Java代码修改为星号图案输出

需要实现的星号图案为每行依次递增一个星号(例如输入3时,输出:
*


),但当前代码输出的是数字,修改方法如下:

原代码

System.out.println("Enter your number");
int num = scanner.nextInt();

int count = 1; 
for(int i = 1; i <= num; i++) { 
    for(int j = 1; j <= 1; j++) { 
        for(int k = 1; k <= count; k++) {
            System.out.print(k + " "); 
        }
        System.out.println(); 
        count++;
    }
}

修改方案

  • 替换输出内容:把输出数字的语句System.out.print(k + " ");改成System.out.print("* ");,我们不需要输出数字,只需要重复输出星号即可。
  • 移除冗余循环:原代码中for(int j = 1; j <= 1; j++)这个循环完全多余,它仅执行一次,删掉后能简化代码结构。

修改后的完整代码

import java.util.Scanner;

public class StarPattern {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter your number");
        int num = scanner.nextInt();

        int count = 1; 
        for(int i = 1; i <= num; i++) { 
            for(int k = 1; k <= count; k++) {
                System.out.print("* "); 
            }
            System.out.println(); 
            count++;
        }
        scanner.close();
    }
}

还可以进一步优化,去掉count变量,直接用外层循环的i控制每行星号数量,代码更简洁:

import java.util.Scanner;

public class StarPattern {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter your number");
        int num = scanner.nextInt();

        for(int i = 1; i <= num; i++) { 
            for(int k = 1; k <= i; k++) {
                System.out.print("* "); 
            }
            System.out.println(); 
        }
        scanner.close();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:30:13