I have an ArrayList and I'm trying to print it without the bracket ("[]") , I don't know where the problem lies , is it with how the ArrayList is initialized or is it the print method ?
The output that I'm getting :
S0 = (q0) = [0, 2]
S1 = (q1) = [1, 0]
S2 = (q2) = [2, 1]
The output that I'm trying to get :
S0 = (q0) = {q0, q2}
S1 = (q1) = {q1, q0}
S2 = (q2) = {q2, q1}
How can this be achieved ?
CODE :
import java.util.ArrayList;
import java.util.Scanner;
public class MyClass {
public static void printArray(String[][] data){
System.out.print(" ");
for (int i = 0; i < data[0].length; i++) {
System.out.print("q" + i + " ");
}
System.out.println();
for (int i=0;i< data.length;i++){
System.out.print("q" + i + " ");
for (int j=0;j< data[0].length;j++){
System.out.print(data[i][j] + " ");
}
System.out.println();
}
}
public static ArrayList findEpsilon(String[][] data){
ArrayList<ArrayList<Integer> > aList = new ArrayList<>();
ArrayList<Integer> a1;
for (int i = 0; i < data.length ; i++) {
a1 = new ArrayList<>();
//aList = new ArrayList<>();
a1.add(i);
for (int j = 0; j < data[0].length; j++) {
if (data[i][j].contains("eps")){
a1.add(j);
}
}
aList.add(a1);
}
return aList;
}
public static void printArrayList(ArrayList<ArrayList<Integer>> aList){
for (int i = 0; i < aList.size(); i++) {
for (int j = 0; j < aList.get(i).size(); j++) {
System.out.println("S" + j + " = (q" + j + ") = " + aList.get(i).get(j) + "
");
}
// System.out.println();
}
}
public static void main(String args[]) {
String[][] data = {
{ "a", "b", "eps"},
{ "eps", "a", "-" },
{ "a", "eps", "b"}};
ArrayList<ArrayList<Integer> > aList = new ArrayList<ArrayList<Integer> >(3);
printArray(data);
System.out.println("\n");
aList.add(findEpsilon(data));
printArrayList(aList);
}
}