我应该对代码进行哪些编辑才能按预期打印



我正试图编写一个函数myMethod,它将根据输入k的内容打印出这样的模式:

在这种情况下,k=7

#######
######
#####
####
###
##
#
##
###
####
#####
######
#######

然而,我很难理解为了让代码运行,我应该对代码进行哪些修改。

这是我到目前为止的代码:

public class Diamond {
static void myMethod(int k) {
for (int j = -k; j <= k; j++) {
String m = "#";
System.out.println((m.repeat(Math.abs(j))));
}
public static void main(Integer[]) {
myMethod(9);
}}
}

由于放置(;时出错,我无法运行代码,但是,即使添加或删除了tge(;,错误仍然存在。

我在这里做错了什么?

jdk版本低于JDK 11时,我们可以使用以下代码

int k = 7;
for (int j = -k; j <= k; j++) {
String m = "#";
int abs = Math.abs(j);
for (int i = 0; i < abs; i++) {
System.out.print(m);
}
if (abs > 0) {
System.out.println();
}
}

否则

int k = 7;
for (int j = -k; j <= k; j++) {
String m = "#";
int abs = Math.abs(j);                
System.out.println(m.repeat(abs));
}

最新更新