Java 筛选打印语句的最有效方法

Java 筛选打印语句的最有效方法,java,jsoup,Java,Jsoup,如果getPercentage的返回值不同,那么最有效的方法是什么,而不是每5秒打印一次,而是每次在5秒检查时打印一次 为了澄清我的问题,如果打印的字符串是50%,如果50%已经打印,我想让它等待再次打印的更改 import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class Wooot { public static void main(String[]

如果getPercentage的返回值不同,那么最有效的方法是什么,而不是每5秒打印一次,而是每次在5秒检查时打印一次

为了澄清我的问题,如果打印的字符串是50%,如果50%已经打印,我想让它等待再次打印的更改

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Wooot {
    public static void main(String[] args) throws IOException, InterruptedException {
        needData();
        Report();
    }

    public static void Report() throws InterruptedException, IOException{
        while (needData() == true)
        {
            Thread.sleep(5000);
            System.out.println(getData("http://woot.com"));
        }
    }

    public static boolean needData(){
        return true;
    }

    public static String getData(String url) throws IOException {
        Document doc = Jsoup.connect(url).timeout(0).get(); 
        String percent = doc.select(".percent-remaining").first().text();
        return percent;
    }
}

我想你的意思是:

    String current = "";
    String temp;
    while (needData())
    {
        Thread.sleep(5000);
        temp = getData("http://woot.com");
        if (!current.equals(temp))
        {
            System.out.println(temp);
            current = temp;
        }
    }
不相关,但
while(needData())
就足够了。跟踪最后打印的百分比。如果下次相同,请不要打印。