public void labelGrids(int k) throws FileNotFoundException { // Initializing the global arraylist trainingData = new ArrayList<>(); int count = 0; Scanner input = new Scanner(new File("data.txt")); int noOfRows = input.nextInt(); int noOfColumns = input.nextInt(); input.nextLine(); String[] row; for (int i = 0; i < noOfRows; i++) { row = input.nextLine().split(" "); for (int j = 0; j < row.length; j++) { if (row[j].equals("+")) { TrainingExample newExample = new TrainingExample(); newExample.x2 = i; newExample.x1 = j; newExample.y = '+'; newExample.ex_no = count; count++; trainingData.add(newExample); } else if (row[j].equals("-")) { TrainingExample newExample = new TrainingExample(); newExample.x2 = i; newExample.x1 = j; newExample.y = '-'; newExample.ex_no = count; count++; trainingData.add(newExample); } else { TrainingExample newExample = new TrainingExample(); newExample.x2 = i; newExample.x1 = j; newExample.y = '.'; newExample.ex_no = count; count++; trainingData.add(newExample); } } } for (int i = 0; i < trainingData.size(); i++) { kNN(trainingData, i, 1, k, false, true); } labelPrint(trainingData, noOfRows, noOfColumns); }