一种打印出给定数字的星号的方法

时间:2012-09-24 10:40:54

标签: java

我想知道编码是什么,如果我想制作一个代码,打印出我给出的值的一些星号。

例如,如果我输入值值:{3,2,1} 我会得到


** *

public void stars(int[] values)

,这是我的代码的开头

6 个答案:

答案 0 :(得分:2)

    int count = 5;
    StringBuilder builder = new StringBuilder();
    for(int i = 0; i<count;i++)
    {
        builder.append("*");
    }
    System.out.println(builder.toString());

假设您希望*的数量等于计数。

<强>更新 我想你可以在上述解决方案之上构建你的解决方案。我想你应该试一试。

答案 1 :(得分:1)

只是为了好玩,肮脏的单线黑客:

public String repeatAsterisk(int number) {
    return new String(new char[number]).replaceAll(".", "*");
}

答案 2 :(得分:0)

多数民众赞成:

public void print(int input) {
    for (int i = 0; i < input; i++) {
       System.out.print("*");
    }
}

通过评论编辑:

public static void print(int[] input) {
    for (int inp : input) {
        for (int i = 0; i < inp; i++) {
            System.out.print("*");
        }
        System.out.print(" ");
    }
}

public static void main(String... args) {
    print(new int[]{2, 5});
}

产生以下输出:

** *****

答案 3 :(得分:0)

使用Arrays.fill()填充带星号(*)的字符:

public static void stars(int[] values) {
    for (int value: values) {
        char[] numberChars = new char[value];
        Arrays.fill(numberChars, '*');
        System.out.print(numberChars);
        System.out.print(" ");
    }

    System.out.println();
}

答案 4 :(得分:0)

for   
 1 = *           
 5 = *****

int count = 5;

         for(int i=0;i<count;i++)
            {
                System.out.print("*");
            }

答案 5 :(得分:0)

public String numToAsterisk(int num) {
    StringBuilder sb = new StringBuilder(num);
    for (int i = 0; i < num; ++i) {
       sb.append("*");
    }
    return sb.toString();
}

或者你想要这个吗?

public void stars(int[] values) {
    StringBuilder sb = new StringBuilder();

    for (int val : values) {
        for (int i = 0; i < val; ++i) {
            sb.append("*");
        }
        sb.append(" ");
    }

    System.out.println(sb.toString().trim());
}

stars(new int[]{2, 4, 5});的输出为** **** *****