The first game has a finished condition.
The following code shows one of the possible implementations:
... public boolean isFinished() { int numOfDiscs = 0; for (int col = 0; col < COLUMNS; ++col) { numOfDiscs += getNumberOfDiscsInColumn(col); } if (numOfDiscs >= COLUMNS * ROWS) { System.out.println("It's a draw"); return true; } return false; } ...