gpt4 book ai didi

java - 如何让一个方法根据传入的参数执行一定次数的操作?

转载 作者:行者123 更新时间:2023-12-01 17:28:49 26 4
gpt4 key购买 nike

public void printStars(int level) {

for (int one = level; one >= 1; one--) {

for (int two = one; two <= level; two++) {


System.out.print("*");

}
System.out.println();


}
}

我正在尝试制作看起来像这样的东西:

    *
***
*****
*******
*********

目前,我得到了大约一半的正确图表,全部左对齐。

我尝试合并 printf,但我意识到它不起作用,因为 level 的值无法传输到 printf 方法。我还想知道是否有一种方法可以将最长的段(底部)设置为等于(2 * level)- 1 颗星长,并对其应用某种格式以获得答案?

最佳答案

打印前面适当数量的空格

public void printStars(int level) {

for (int one = level; one >= 1; one--) {
for(int k=1, k<one;k++){ // print appropriate number of spaces before
System.out.print(" ");
}
for (int two = 1; two <=2*(level-one)+1; two++) {
System.out.print("*");
}
System.out.println();
}
}

说明:

  1. 如果总共有 N 层,并且最后一行没有任何空格。 => N-1 层将有空格,其中 N-1 在第一行,N-2 在第二行,依此类推.. 1 在第 (N-1) 行。

  2. 星数:(level-one) 使您要打印的行减 1,因为最初当 one = level (one-level = 0) 时,它的第一行,接下来是 (level-one) = 1,因为减少了 1。 & 在每一行中,您必须打印 2*X +1 *'s,

关于java - 如何让一个方法根据传入的参数执行一定次数的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com