用java绘制直方图
我试图制作一个直方图,它看起来像这样:用java绘制直方图,java,arrays,methods,Java,Arrays,Methods,我试图制作一个直方图,它看起来像这样: 1 - 5: **** 6 - 10: ****** 11 - 15: ** 16 - 20: ********** 21 - 25: *********** 26 - 31: ******** 31 - 35: **** 36 - 41: ******* 41 - 45: ************ 46 - 50: ***************** 以下是我目前的代码: public static void graph (int[
1 - 5: ****
6 - 10: ******
11 - 15: **
16 - 20: **********
21 - 25: ***********
26 - 31: ********
31 - 35: ****
36 - 41: *******
41 - 45: ************
46 - 50: *****************
以下是我目前的代码:
public static void graph (int[] arr) {
for ( int i=0; i <= 50; i+=5) {
System.out.println(i+" - " + ( i + 4 ) + " :" );
for ( int num : arr) {
if ( num >= i && num <= i + 4)
System.out.print("*");
}
}
}
需要一些帮助来修复我的代码。我想弄清楚这件事已经有一段时间了。另外,如果有人愿意帮忙,请使用不太高级的java代码。我想了解我正在编写的代码,所以我希望大家只修改我的代码,而不是编写任何新的代码。提前感谢。试试这个:
public static void graph (int[] arr) {
for ( int i=0; i <= 50; i+=5){
System.out.print(i+" - " + ( i + 4 ) + " :" );
for ( int num : arr) {
if ( num >= i && num <= i + 4)
System.out.print("*");
}
System.out.println();
}
}
在内部循环之前调用
println
。将其更改为print
,这样它就不会结束行,允许*
字符在同一行上打印,然后在循环后添加println()
。
public static void graph (int[] arr) {
for ( int i=0; i <= 50; i+=5){
System.out.print(i+" - " + ( i + 4 ) + " :" );
for ( int num : arr) {
if ( num >= i && num <= i + 4)
System.out.print("*");
}
System.out.println();
}
}
0 - 4 :***
5 - 9 :***
10 - 14 :
15 - 19 :*
20 - 24 :*
25 - 29 :
30 - 34 :
35 - 39 :
40 - 44 :
45 - 49 :
50 - 54 :*