在显示星星的直方图中需要帮助

Need help in histogram displaying the stars

我需要帮助显示每个 cat1 到 cat4 的星星。我遇到的问题是,当您 运行 代码时,星星显示在 cat1 到 cat4 的下方。我想让星星显示在每只猫的身边。

我的编码输出是:

读入一个标记 21

输入下一个学生分数 2

输入下一个学生分数 30

输入下一个学生分数 31

输入下一个学生分数 40

输入下一个学生分数 41

输入下一个学生分数 70

输入下一个学生分数 71

输入下一个学生分数 109 = 当此人输入超过 100 的数字时,while 循环结束。

总得分 8

0-29: 2

*

*

30-39: 2

*

*

40-69: 2

*

*

70-100: 2

*

*

我希望编码看起来像什么: 0-29: * *

30-39: * *

40-69: * *

70-100: * *

    int cat1 = 0;
    int cat2 = 0;
    int cat3 = 0;
    int cat4 = 0;
    int mark;
    int counter = 0;

    Scanner input = new Scanner(System.in);
    System.out.println("Read in a mark");
    mark = input.nextInt();

    while (mark <= 100 && mark >= 0) {
        counter++;
        if (mark >= 0 && mark <= 29) {
            cat1++;
        }
        if (mark >= 30 && mark <= 39) {
            cat2++;
        }
        if (mark >= 40 && mark <= 69) {
            cat3++;
        }
        if (mark >= 70 && mark <= 100) {
            cat4++;
        }

        System.out.println("Enter the next student mark");
        mark = input.nextInt();
    }
    System.out.println("Total number of marks entered " + counter);

    System.out.print("");
    System.out.println("0-29: " + cat1);
    for (int i = 0; i < cat1; i++) {
        System.out.println("*");
    }
    System.out.print("");
    System.out.println("30-39: " + cat2);
    for (int i = 0; i < cat2; i++) {
        System.out.println("*");
    }
    System.out.print("");
    System.out.println("40-69: " + cat3);
    for (int i = 0; i < cat3; i++) {
        System.out.println("*");
    }
    System.out.print("");
    System.out.println("70-100: " + cat4);
    for (int i = 0; i < cat4; i++) {
        System.out.println("*");
    }

这样试试..

        String star = "";
        for (int i = 0; i < cat1; i++) {
            star = star +"*";
        }
        System.out.println("0-29: " + star);

您应该将 System.out.println 更改为 System.out.print 并在每个循环后的末尾添加一个 System.out.println();

System.out.print("");
System.out.print("0-29: " + cat1);
for (int i = 0; i < cat1; i++) {
    System.out.print("*");
}
System.out.println();
System.out.print("");
System.out.print("30-39: " + cat2);
for (int i = 0; i < cat2; i++) {
    System.out.print("*");
}
System.out.println();
System.out.print("");
System.out.print("40-69: " + cat3);
for (int i = 0; i < cat3; i++) {
    System.out.print("*");
}
System.out.println();
System.out.print("");
System.out.print("70-100: " + cat4);
for (int i = 0; i < cat4; i++) {
    System.out.print("*");
}
System.out.println();

可能你还应该在需要的地方添加一些空格