Я хочу создать непрерывный цикл Enhanced For в программе Java для вывода сообщения из автоматического пинга в текстовую область, а затем для остановки при выполнении условия (IP-адрес отключен).У меня есть IP-адреса в массиве строк под названием «IP».Прекрасно работает без цикла, но требует непрерывных итераций, пока ответ не будет обнаружен.
Пробовал с использованием логического цикла, который я включил в код - однако не добавляет текст в TextArea и попадает в непрерывный цикл.
for (String ip : listOfhosts) {
boolean repeatLoop = true;
try {
InetAddress i = InetAddress.getByName(ip);
textArea.append("Sending Ping Request to " + ip + "\n");
//boolean run = true;
//while (run){
if (i.isReachable(100)) { // 1 second limit
textArea.append("Host is online \n");
} else {
textArea.append("\nHOST IS OFFLINE\n");
//System.exit(0); //If something is offline, system will close. For now.
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("email@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("email@hotmail.com"));
message.setSubject("Test Mail");
message.setText("Test Mail," + "\n Sent From sendMail.java application\n");
//textArea.append("OK - Online \n");
Transport.send(message);
textArea.append("Mail Sent to email@email.com \n host " + ip + " is offline \n");
return;
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
} catch (Exception e) {
textArea.append("Unknown HOST\n");
e.printStackTrace();
}while(repeatLoop);
Попадание в непрерывный цикл - сбой программы.Любая помощь будет отличной!