我想知道如果我想編寫一個代碼打印出一些星號的代碼,我會給出什麼編碼。一種方法,打印出的數字給出的號碼
例如,如果我輸入值的值:{3,2,1} 我會得到
** *
public void stars(int[] values)
,這是一開始我代碼
我想知道如果我想編寫一個代碼打印出一些星號的代碼,我會給出什麼編碼。一種方法,打印出的數字給出的號碼
例如,如果我輸入值的值:{3,2,1} 我會得到
** *
public void stars(int[] values)
,這是一開始我代碼
完蛋了:
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});
}
產生以下輸出:
** *****
你好,非常感謝您的回覆星號!這是真正有用的,可惜我忘了說,這是一個陣列功能 所以我就開始它作爲 公共無效星(INT []值) 我輸入使用代碼{2,3} 期待它返回一個 ** *** 除了我剛剛得到**,任何指針? –
@JudyTran你應該把你的問題。 – maba
謝謝我編輯它 –
int count = 5;
StringBuilder builder = new StringBuilder();
for(int i = 0; i<count;i++)
{
builder.append("*");
}
System.out.println(builder.toString());
假設你想要的*
數等於計數。
更新: 我想你可以建立你的解決方案上面的解決方案。我想你應該試試看。
對於StringBuilder的+1 – MadProgrammer
你也可以這樣做while(builder.length()
爲了墊不與星號(*)字符使用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();
}
for
1 = *
5 = *****
詮釋計數= 5;
for(int i=0;i<count;i++)
{
System.out.print("*");
}
只是爲了好玩,髒一行黑客:
public String repeatAsterisk(int number) {
return new String(new char[number]).replaceAll(".", "*");
}
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});
將** **** *****
。
你的意思是值爲5,你會得到'*****'嗎? – nullpotent
你的意思是*****爲5或*有5個邊緣? –
嗨我編輯了一個更好的理解問題,請看看:) –