In java è possibile (quasi sempre...) spostarsi all'interno del recordset (come nell'esempio). Ti dice che devi inizializzare rows perché il valore potrebbe anche non assumerlo (visto che è dentro un blocco try). Ti basta fare
codice:
int rows = 0;

try {
...
Altrimenti modifichi la query e fai una SELECT COUNT invece di una semplice SELECT. Vedi tu.