Вот мой код:
import java.util.Scanner;
public class Chapter10_NextGeneration {
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
System.out.println("Type in your cell positions(ie 8,A,D,D,A,D,D,A,A,2 - NO SPACES & CASE SENSITIVE): ");
String positions_str=sc.nextLine();
sc.close();
String[] cells=positions_str.split(",");
String[] next_generation=new String[cells.length-2];x
for(int j=0; j < Integer.parseInt(cells[cells.length-1]); j++) {
for(int i=1;i<cells.length-1;i++) {
if(i-1<1) {
if(cells[i+1].equals("D")) {
next_generation[i-1]="D";
}
else {
next_generation[i-1]="A";
}
}
else if(i+1==cells.length-1) {
if(cells[i-1].equals("D")) {
next_generation[i-1]="D";
}
else {
next_generation[i-1]="A";
}
}
else if((cells[i-1].equals("A") && cells[i+1].equals("D")) || (cells[i-1].equals("D") && cells[i+1].equals("A"))) {
next_generation[i - 1]="A";
}
else if((cells[i-1].equals("A") && cells[i+1].equals("A")) || (cells[i-1].equals("D") && cells[i+1].equals("D"))) {
next_generation[i - 1]="D";
}
}
for (int i = 0; i < next_generation.length; i++) {
cells[i+1]=next_generation[i];
System.out.print(next_generation[i]);
}
}
}
}
У меня не получается заставить мою программу печатать только окончательный результат. Когда мой ввод 8,A,D,D,A,D,D,A,A,2
, вывод должен быть AAADADDA
, но программа печатает DAADAAAAAAADADDA
. 2 в конце ввода запускает программу 2 раза, но все, что мне нужно, - это вывод, когда он запускается во второй раз. Как заставить программу не печатать при первом запуске моего ввода?
Вот изображение: Описание
Все, что мне нужно, это часть, выделенная синим цветом. Я не хочу часть, которая не выделена. Что мне делать?