[英]How to write an vertical Histogram
所以,现在我设法像这样输出直方图:
这张图片的代码如下:
int max = getBiggest(arr);
int min = getSmallest(arr);
int n = max / 50 + 1;
for (int i = 0; i < arr.length; i++) {
for (int j = min; j < arr[i]; j += n) {
System.out.print(i + 1);
}
System.out.println("(" + arr[i] + ")");
}
但我的任务是像这样输出直方图:
有人可以解释一下如何编写这段代码吗?
尝试这个。
public static void main(String[] args) {
int[] arr = {12, 28, 11, 16, 21, 12};
int length = arr.length;
int max = IntStream.of(arr).max().getAsInt();
int min = IntStream.of(arr).min().getAsInt();
System.out.println("Histgramm:");
for (int h = min; h <= max; ++h) {
for (int i = 0; i < length; i++)
System.out.print(arr[i] >= h ? (i + 1) + " " : " ");
System.out.println("(" + h + ")");
}
}
输出:
Histgramm:
1 2 3 4 5 6 (11)
1 2 4 5 6 (12)
2 4 5 (13)
2 4 5 (14)
2 4 5 (15)
2 4 5 (16)
2 5 (17)
2 5 (18)
2 5 (19)
2 5 (20)
2 5 (21)
2 (22)
2 (23)
2 (24)
2 (25)
2 (26)
2 (27)
2 (28)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.