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

Java输入整数打印对应星号水平条代码运行仅输出单星号问题求助

问题原因

代码存在两个语法逻辑错误:

  • 所有for循环声明的末尾额外添加了分号;:Java中单独的分号代表空语句,这会导致for循环的循环体被判定为这一个空分号,后续大括号内打印星号的代码不属于循环体,只会执行一次,所以每行只会输出1个星号。
  • 循环判断条件写为i < 变量-1:即便去掉多余分号,该条件也只会让循环执行输入值-1次,输出的星号数量会比预期少1个。

修复方案

  1. 删除每个for循环末尾多余的分号
  2. 将循环判断条件修改为i < 输入的数值变量,保证循环次数和输入值一致

修复后完整代码

import java.util.*;

public class assign {
    public static void main(String[]args){

        Scanner scanner=new Scanner(System.in);
        System.out.println("Enter first number between 1 to 30");
        int a = scanner.nextInt();
        System.out.println("Enter second number between 1 to 30");
        int b = scanner.nextInt();
        System.out.println("Enter third number between 1 to 30");
        int c = scanner.nextInt();
        System.out.println("Enter fourth number between 1 to 30");
        int d = scanner.nextInt();
        System.out.println("Enter fifth number between 1 to 30");
        int e = scanner.nextInt();
        scanner.close();

        for(int i=0;i<a;i++){
            System.out.print("*");
        }
        System.out.println();
        for(int i=0;i<b;i++){
            System.out.print("*");
        }
        System.out.println();
        for(int i=0;i<c;i++){
            System.out.print("*");
        }
        System.out.println();
        for(int i=0;i<d;i++){
            System.out.print("*");
        }
        System.out.println();
        for(int i=0;i<e;i++){
            System.out.print("*");
        }
        System.out.println();
    }
}

原错误运行效果截图

运行效果截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:06:05