У меня возникла небольшая проблема с распечатками из цикла.
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-массивList, если этот слот в arrayList совпадает со слотом в 2D-массиве, печатает столбец из 2D-массива и индекс списка массивов
Пример вывода:
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 спички. Мне нужна запятая только для разделения двух совпадений в одной строке. Я пытался использовать подстроку, некоторые регулярные выражения были найдены в Интернете, но они не работали.
Кроме того, я хочу отобразить «нет» для последних двух строк (состояние 7 и 8). Я тоже пытался это сделать, но все равно не повезло.
Дайте совет, спасибо