我從循環的打印輸出中遇到了一個小問題。從循環打印輸出中刪除最後一個逗號JAVA
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:
1b1和的C 2是在同一行中,因爲有一排2個匹配。 我只需要用逗號分隔一行內的2個匹配項。 我曾嘗試使用子字符串,一些正則表達式在網上找到,但他們沒有工作
另外,我想顯示「無」最後2行(狀態7和8)。我一直在努力去做,但仍然沒有運氣。
請給些建議,謝謝
太棒了,你能幫我解決第二部分嗎? (打印「無」)? – Casper
我剛剛編輯了我的答案。一探究竟。 –
很棒的工作,非常感謝! – Casper