march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          目前做到能分析POJ和HDU的代碼。ZOJ的話因為他存儲用戶的方式是一個數(shù)字序列,而不是用戶的id,所以暫時沒有想到解決方案。
          這里用到了之前提到的獲取網(wǎng)頁源代碼的URLAnalysis類。
          getPOJSolved方法用于獲得POJ上的解題數(shù);
          getHDUSolved方法用于獲得HDU上的解題數(shù);
          names數(shù)組存放感興趣的用戶。
          代碼如下:
          import java.io.BufferedReader;
          import java.io.InputStreamReader;
          import java.net.HttpURLConnection;
          import java.net.URL;


          public class OnlineJudgeFinder {
              
              private static String[] names = {"watashi", "hanfei19910905", "marchalex"};
              
              public static String getPOJSolved(String userId) throws Exception {
                  String urlString = "http://poj.org/userstatus?user_id=" + userId;
                  URL url = new URL(urlString);
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line = null;
                  for(int i=0;i<10;i++)
                      line = reader.readLine();
                  int len = line.length();
                  int i , cnt = 0;
                  for(i=0;i<len;i++) {
                      if(line.charAt(i) == '>') {
                          cnt ++;
                          if(cnt == 2)
                              break;
                      }
                  }
                  i ++;
                  String num = "";
                  while(i < len && line.charAt(i) >= '0' && line.charAt(i) <= '9') {
                      num += line.charAt(i);
                      i ++;
                  }
                  return num;
              }
              public static String getHDUSolved(String userId) throws Exception {
                  String urlString = "http://acm.hdu.edu.cn/userstatus.php?user=" + userId;
                  URL url = new URL(urlString);
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                  String line = null;
                  for(int i=0;i<105;i++)
                      line = reader.readLine();
                  int len = line.length();
                  int i , cnt = 0;
                  for(i=0;i<len;i++) {
                      if(line.charAt(i) == '>') {
                          cnt ++;
                          if(cnt == 4)
                              break;
                      }
                  }
                  i ++;
                  String num = "";
                  while(i < len && line.charAt(i) >= '0' && line.charAt(i) <= '9') {
                      num += line.charAt(i);
                      i ++;
                  }
                  return num;
              }
              public static void getResult() throws Exception {
                  int n = names.length;
                  for(int i=0;i<n;i++) {
                      String name = names[i];
                      System.out.println(name + " has solved ");
                      System.out.println("\t" + getPOJSolved(name) + " problem(s) in POJ");
                      System.out.println("\t" + getHDUSolved(name) + " problem(s) in HDU");
                  }
              }
              public static void main(String[] args) throws Exception {
                  getResult();
              }
          }
          效果如下:
          watashi has solved 
          32 problem(s) in POJ
          7 problem(s) in HDU
          hanfei19910905 has solved 
          131 problem(s) in POJ
          212 problem(s) in HDU
          marchalex has solved 
          1 problem(s) in POJ
          15 problem(s) in HDU
          posted on 2015-02-13 13:30 marchalex 閱讀(240) 評論(0)  編輯  收藏 所屬分類: java小程序
          主站蜘蛛池模板: 玉屏| 滁州市| 抚宁县| 古交市| 积石山| 康马县| 措美县| 平陆县| 东源县| 台中市| 高雄市| 阿拉善盟| 浮梁县| 邓州市| 扶绥县| 荔波县| 崇左市| 花垣县| 石城县| 巴彦淖尔市| 沾益县| 三穗县| 长垣县| 武夷山市| 苏州市| 海兴县| 龙州县| 阿鲁科尔沁旗| 江城| 舞阳县| 扶风县| 苏尼特右旗| 马边| 黑河市| 廉江市| 晴隆县| 大兴区| 安吉县| 安庆市| 云安县| 利川市|