我正试图编写一个函数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));
}