title: While loop getting stuck in infinite loop
body: <p>I am trying to figure out why my program is printing the same statement repeatedly. I am able to get this method to work fine when I am putting in good values, but I have an else statement set up to catch invalid selections. When my else statement runs, it prints infinitely and the while loop never commences. I can't figure it out. I am going to paste the entire method, but bold the problem area. I hope this is clear.</p>
  
  <pre><code>public static int[][] placeCheese(int [][] gameBoard, String Player1Name) 
  { 
      Scanner console = new Scanner(System.in);
      int turnTaker = 0;
      int validRow = 0;
      int validCol = 0;
      int RowIndex = -1;
      int ColIndex = -1;
      while(turnTaker == 0)
      {
          while(validRow == 0)
          {
              System.out.println( Player1Name + ", please place your cheese by choosing a row, or choose -1 to exit.");
              RowIndex = console.nextInt() -1; 
              if(RowIndex &lt; gameBoard.length &amp;&amp; RowIndex &gt;=0)
              {
                  validRow++;
              }
              else if(RowIndex == -2)
              {
                  System.out.println("Thanks for playing, " + Player1Name + " has forfeited!");
                  System.exit(0);
              }
          }
          while(validCol == 0){
              System.out.println( Player1Name + ", please place your cheese by choosing a column, or choose -1 to exit.");
              ColIndex = console.nextInt() -1; 
              if(ColIndex &lt; gameBoard.length &amp;&amp; ColIndex &gt;=0)
              {
                  validCol++;
              }
              else if(RowIndex == -2)
              {
                  System.out.println("Thanks for playing, " + Player1Name + " has forfeited!");
                  System.exit(0);
              }
          }
      if(gameBoard[RowIndex][ColIndex] == 0)
      {
          gameBoard[RowIndex][ColIndex] = 1;
          turnTaker++;
          numPieces1--;
      }
      else 
      {
          System.out.println("this space is already occupied, please choose again.");
      }
      return gameBoard;
  }
  </code></pre>