Поэтому у меня есть этот код, который делает это:
.
..
...
...
..
.
Но я хочу, чтобы это делалось:
.
..
...
..
.
Я не могу найти ошибку, добавляющую лишние строки точек. Если у вас есть предложения, которые могут быть полезными, но имейте в виду, я пытаюсь работать без циклов в этот момент времени... (в настоящее время учится на экзамен)
Код:
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);
}
Все, что вам нужно изменить, это этот метод:
public void makePattern(int size) {
stringList = new ArrayList<String>();
up(size);
down(size);
}
в up
или down
изменении size
до size-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);
}