Пинговать пока не выполнится условие

Как пинговать локалхост до наступления условия? Так пока не работает.

package ping;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress; 
import java.io.File;
public class ping {
public void checkPing() throws IOException { 
    Process ping = Runtime.getRuntime().exec("ping -n 10 localhost"); 
    ping.waitFor();
}

public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
     try {

if () checkPing(); }

catch (Exception e) {
    //System.out.println(e);
        }

} }


Ответы (2 шт):

Автор решения: Andrew

Вот например использование метода проверки пинга:

public void checkPing(){
Process ping = Runtime.getRuntime().exec("ping -n 10 localhost"); 
ping.waitFor();

if(condition){

}else{
checkPing();
}

}

либо через while/do-while:

do {
  // code block to be executed
}
while (condition);

Вот тут можно чекнуть. Вот тут про рекурсию можно прочитать. По поводу ввода новой переменной - сделайте глобальную переменную в классе, присвойте ей значение и запускайте пинг. Не факт что прям идеальное решение, но я так понимаю :)

→ Ссылка
Автор решения: rtuf20

Повторно послать ping можно так

  Process ping = Runtime.getRuntime().exec("ping -n 2 localhost");
            ping.waitFor();
  for(int i = 0; i < 10; i++) {
             ping = Runtime.getRuntime().exec("ping -n 5 localhost");
                ping.waitFor();
             System.out.println(i);
            }           
→ Ссылка