gpt4 book ai didi

java - 从循环打印输出中删除最后一个逗号 JAVA

转载 作者:行者123 更新时间:2023-12-01 14:13:39 35 4
gpt4 key购买 nike

我在循环打印输出时遇到了一个小问题。

String str1 = null; 
for (int row=0; row<dfsa.length; row++) {

System.out.print("\tstate " + row +": ");

for (int col=0; col<dfsa[row].length; col++) {
for (int i=0; i<dfsa_StateList.size(); i++) { // traverse thru dfsa states list
if (dfsa_StateList.get(i).equals(dfsa[row][col])) {
str1 = alphabetList.get(col)+ " " + i + ", ";
System.out.print(str1);
}
}
}
System.out.println();
}

解释一下代码:它遍历一个 2D 数组(行和列),然后从每个槽出发,遍历另一个 1D arrayList,如果 arrayList 中的槽与 2D 数组中的槽匹配,则打印 2D 数组中的列和 arrayList 的索引

示例输出:

    state 0: b 1, c 2, 
state 1: e 3,
state 2: a 4,
state 3: a 5,
state 4: r 6,
state 5: r 7,
state 6: e 8,
state 7:
state 8:

b 1 和 c 2 位于同一行,因为一行中有 2 个匹配项。我只需要逗号来分隔一行中的 2 个匹配项。我尝试过使用子字符串,一些在网上找到的正则表达式,但它们不起作用

此外,我想为最后 2 行(状态 7 和 8)显示“无”。我也一直在尝试,但还是没有成功。

请大家给点建议,谢谢

最佳答案

尝试:

String str1 = null; 
for (int row=0; row<dfsa.length; row++) {

System.out.print("\tstate " + row +": ");
String line = "";
for (int col=0; col<dfsa[row].length; col++) {
for (int i=0; i<dfsa_StateList.size(); i++) { // traverse thru dfsa states list
if (dfsa_StateList.get(i).equals(dfsa[row][col])) {
str1 = alphabetList.get(col)+ " " + i + ", ";
line += str1;
}
}
}
line = line.length() > 0 ? line.substring(0, line.length() - 2) : "None";
System.out.println(line)
}

关于java - 从循环打印输出中删除最后一个逗号 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18297551/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com