-2

我想知道如果我想编写一个代码来为我给出的值打印出一些星号,那么编码会是什么。

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


** *

public void stars(int[] values)

,这是我的代码的开始

4

6 回答 6

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

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

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

于 2012-09-24T10:46:58.633 回答
1

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

public String repeatAsterisk(int number) {
    return new String(new char[number]).replaceAll(".", "*");
}
于 2012-09-24T10:54:59.770 回答
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});
}

产生以下输出:

** *****
于 2012-09-24T10:45:00.280 回答
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();
}
于 2012-09-24T10:50:31.413 回答
0
for   
 1 = *           
 5 = *****

整数计数 = 5;

         for(int i=0;i<count;i++)
            {
                System.out.print("*");
            }
于 2012-09-24T10:52:45.480 回答
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});将是** **** *****

于 2012-09-24T10:55:57.920 回答