私が与えた値に対して多数のアスタリスクを出力するコードを作成したい場合、コーディングはどうなるのだろうと思っていました。
たとえば、次の値を入力すると、{3, 2, 1} が得られます。
** *
public void stars(int[] values)
、これは私のコードの始まりです
私が与えた値に対して多数のアスタリスクを出力するコードを作成したい場合、コーディングはどうなるのだろうと思っていました。
たとえば、次の値を入力すると、{3, 2, 1} が得られます。
** *
public void stars(int[] values)
、これは私のコードの始まりです
int count = 5;
StringBuilder builder = new StringBuilder();
for(int i = 0; i<count;i++)
{
builder.append("*");
}
System.out.println(builder.toString());
*
number ofを count に等しくしたいと仮定します。
更新: 上記のソリューションの上にソリューションを構築できると思います。試してみるべきだと思います。
楽しみのために、汚い一行のハック:
public String repeatAsterisk(int number) {
return new String(new char[number]).replaceAll(".", "*");
}
for
1 = *
5 = *****
int カウント = 5;
for(int i=0;i<count;i++)
{
System.out.print("*");
}
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});
になります** **** *****
。
それでおしまい:
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});
}
次の出力が生成されます。
** *****
を使用してアスタリスク (*) で文字を埋め込むには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();
}