不使用数组打印veritcal直方图

时间:2017-10-11 18:11:02

标签: java histogram

我必须编写一个应用程序,它将从用户获得3个数字并创建直方图。 F,G: 输入:2,4,3 输出:

$ echo dcba | perl6 -pe 's:g/a/e/; s:g/b/f/; s:g/c/g/; s:g/d/h/'
hgfe

这并不容易,因为我不能使用任何阵列。我有一个想法,找到最大的数字,然后创建循环

 *
 **
***
***

但我不知道在循环中放什么。

2 个答案:

答案 0 :(得分:0)

解决问题的一种方法是按照你的想法从最大值开始循环,然后继续检查每个数字以查看它是否应该打印

sed 's/^ *//' comp-c.csv

答案 1 :(得分:0)

这很简单:

public static void histogram(int a, int b, int c){
    int size = Math.max(Math.max(a, b), c);
    for(int x=size; x>0; x--){
        System.out.print(x > a? " " : "*");
        System.out.print(x > b? " " : "*");
        System.out.println(x > c? " " : "*");
    }
}

首先,通过从3个整数中获取最大值来确定直方图中的行数。 随后,打印列。如果它没有达到给定的高度,则打印一个空格,否则打印*