title: non-static variable this cannot be referenced from a static context
body: <p>The error comes from this line
       BoardState addme = new BoardState();</p>
  
  <p>For some reason the non-static variable that it is pointing at is "new". I am unclear of how I can fix this error as new is not meant to be a variable, and is not. </p>
  
  <p>Looking through the stackoverflow records this error usually comes from a non-static method which is usually solved by making the method static or bypassing the method entirely. T</p>
  
  <p>This code below is to reference what is going on before and after this statement.</p>
  
  <pre><code>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&lt;BoardState&gt; memory = new ArrayList&lt;BoardState&gt;();
  
  
  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 &lt; 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);
  
          }
  </code></pre>
  
  <p>}....</p>