所以我有这样做的代码:
.
..
...
...
..
.
但我希望它能做到:
.
..
...
..
.
我似乎无法找到添加额外点线的错误..如果你有任何建议可以帮助消除,但请记住,我试图在没有循环的情况下工作这个时间点......(目前正在攻读考试)
代码是:
public void put(int n) {
if (n > 0) {
System.out.print(".");
put(n-1);
}
}
public void up(int n) {
if (n > 0) {
up(n - 1);
put(n);
System.out.print("\n");
}
}
public void down(int n) {
if (n > 0) {
put(n);
System.out.print("\n");
down(n-1);
}
}
public void makePattern(int size) {
stringList = new ArrayList<String>();
up(size);
down(size);
}
答案 0 :(得分:2)
您需要改变的是这种方法:
public void makePattern(int size) {
stringList = new ArrayList<String>();
up(size);
down(size);
}
在up
或down
将size
更改为size-1
答案 1 :(得分:1)
试试这个:
public void put(int n){
if(n > 0){
System.out.print(".");
put(n-1);
}
}
public void up(int n) {
if (n > 0) {
up(n - 1);
put(n);
System.out.print("\n");
}
}
public void down(int n){
if(n > 0){
put(n);
System.out.print("\n");
down(n-1);
}
}
public void makePattern(int size) {
stringList = new ArrayList<String>();
up(size);
down(size-1);
}