The error from this line is BoardState addme = new BoardState ();
For some reason, the non-static variable that he points to is "new." I do not understand how I can fix this error, since the new one is not intended for the variable, and it is not.
When looking at stackoverflow entries, this error usually comes from a non-static method, which is usually solved by a static method or bypassing the method completely. T
This code below contains a link to what happens before and after this statement.
public class IntelligentTicTacToe extends TicTacToe { public class BoardState{ public String TTTState; public int[][] defensiveOppsArray; public int[][] offensiveOppsArray; public String str; public int cnt; } public static ArrayList<BoardState> memory = new ArrayList<BoardState>(); public static boolean makeMove(){ char[] oArray = new char[TicTacToeArray.length]; int[][] defensiveOppsArray = new int[TicTacToeArray.length][TicTacToeArray.length]; int[][] offensiveOppsArray = new int[TicTacToeArray.length][TicTacToeArray.length]; int[][] sumOppsArray = new int[TicTacToeArray.length][TicTacToeArray.length]; //converts our Array into a String String x = convertTTTArrayToString(); //Goes through the conditions to see if we have it in memory or if we must go through all the conditions boolean matchFound = false; for(int i=0; i < memory.size(); i++){ BoardState element = memory.get(i); if(element.str.equals(x)){ System.out.println("Match Found"); matchFound = true; }} if(!matchFound){ BoardState addme = new BoardState(); addme.str = x; addme.cnt = 1; memory.add(addme); }
} ....
John smith
source share