Java 如何将我的代码修改为打印;“阿达达”;而不是",;“达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达;?

Java 如何将我的代码修改为打印;“阿达达”;而不是",;“达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达达;?,java,Java,我有以下代码: 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

我有以下代码:

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];
    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]);
        }
    }
}
import java.util.Scanner;
公共课第10章下一代{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“键入单元格位置(即8、A、D、D、A、D、A、A、2-无空格和区分大小写):”;
字符串位置\u str=sc.nextLine();
sc.close();
String[]cells=positions\u str.split(“,”);
字符串[]下一代=新字符串[cells.length-2];
对于(int j=0;j
String nextGenString = String.join(" ", next_generation);
例如:

String [] letters = {"H","E","Y"};
String nextGenString = String.join(" ", letters);
System.out.print(nextGenString); //prints H E Y
使用String.join():

使用Arrays.stream().collect():


您不能使用函数toString()字符串[]直接转换为字符串。您需要借助
StringBuilder

 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];
        for (int i = 1; i < cells.length - 1; i++) {
            if (cells[i - 1].equals("") || cells[i + 1].equals("")) {
                cells[i - 1] = "D";
                cells[i + 1] = "D";
                if ((cells[i - 1].equals("A") && cells[i + 1].equals("D")) || (cells[i - 1].equals("D") && cells[i + 1].equals("A"))) {
                    next_generation[i] = "A";
                }
                if ((cells[i - 1].equals("A") && cells[i + 1].equals("A")) || (cells[i - 1].equals("D") && cells[i + 1].equals("D"))) {
                    next_generation[i] = "D";
                }
            }
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (String string : next_generation) {
            stringBuilder.append(string);
        }
        System.out.println(stringBuilder.toString());
    }
publicstaticvoidmain(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“键入单元格位置(即8、A、D、D、A、D、A、A、2-无空格和区分大小写):”;
字符串位置\u str=sc.nextLine();
sc.close();
String[]cells=positions\u str.split(“,”);
字符串[]下一代=新字符串[cells.length-2];
对于(int i=1;i

希望它对你有用。

你正在打印对象
下一代
。我想你想打印它的内容吗?是的,我确实需要打印它的内容。我该怎么做是我的问题,先生。不使用toString方法。我想打印它,不带括号,先生,你的代码只打印空值。检查示例I w为你死记硬背很好我不知道加入
System.out.println(String.join("", next_generation));
System.out.println(Arrays.stream(next_generation).collect(Collectors.joining()));
 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];
        for (int i = 1; i < cells.length - 1; i++) {
            if (cells[i - 1].equals("") || cells[i + 1].equals("")) {
                cells[i - 1] = "D";
                cells[i + 1] = "D";
                if ((cells[i - 1].equals("A") && cells[i + 1].equals("D")) || (cells[i - 1].equals("D") && cells[i + 1].equals("A"))) {
                    next_generation[i] = "A";
                }
                if ((cells[i - 1].equals("A") && cells[i + 1].equals("A")) || (cells[i - 1].equals("D") && cells[i + 1].equals("D"))) {
                    next_generation[i] = "D";
                }
            }
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (String string : next_generation) {
            stringBuilder.append(string);
        }
        System.out.println(stringBuilder.toString());
    }