Мой цикл while в Java не работает, хотя логическое значение все еще ложно (я думаю?).Пока цикл не зацикливается на java
Если я удалю все «mysqlStatus = true« он по-прежнему не хочет контура. Я не понимаю, как это возможно, поскольку я никогда не переключаю логическое на «true».
Это, наверное, что-то глупое, хотя так спасибо заранее за помощь :).
Петля:
Connection conn;
Boolean mysqlStatus = false;
while(mysqlStatus.equals(false)) {
try {
Class.forName(driver).newInstance();
conTest = DriverManager.getConnection(host + dbName, username, password);
mysqlStatus = true;
} catch (SQLException e) {
// server offline
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Database offline");
alert.setHeaderText("De MySQL database server is offline");
alert.setContentText("Start de server en probeer opnieuw.");
ButtonType buttonTypeOne = new ButtonType("Opnieuw controleren");
ButtonType buttonTypeCancel = new ButtonType("Exit", ButtonData.CANCEL_CLOSE);
alert.getButtonTypes().setAll(buttonTypeOne, buttonTypeCancel);
Optional<ButtonType> result = alert.showAndWait();
if (result.get() == buttonTypeOne){
mysqlStatus = false;
alert.close();
} else {
System.exit(0);
}
} catch (Exception e) {
mysqlStatus = false;
ExceptionDialog cexD = new ExceptionDialog();
cexD.setStrError("Er is een onverwachte fout opgetreden.");
cexD.setException(e);
} finally {
try {
conTest.close();
} catch (SQLException e) {
mysqlStatus = false;
ExceptionDialog cexD = new ExceptionDialog();
cexD.setStrError("Er is een onverwachte fout opgetreden.");
cexD.setException(e);
}
}
}
Изменен и он все еще не работает. – Niell
@Niell Откуда вы знаете, что это не петля? Не забывайте, что вы поставили свою переменную в true в рамках предложения try. –
Вы проверили это? Это не нормально, но он все равно должен работать. – resueman