march alex's blog
          hello,I am march alex
          posts - 52,comments - 7,trackbacks - 0
          目前做到能分析POJ和HDU的代碼。ZOJ的話因為他存儲用戶的方式是一個數字序列,而不是用戶的id,所以暫時沒有想到解決方案。
          這里用到了之前提到的獲取網頁源代碼的URLAnalysis類。
          getPOJSolved方法用于獲得POJ上的解題數;
          getHDUSolved方法用于獲得HDU上的解題數;
          names數組存放感興趣的用戶。
          代碼如下:
          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小程序
          主站蜘蛛池模板: 五大连池市| 宜州市| 吉安市| 亳州市| 威宁| 旅游| 介休市| 饶河县| 兰州市| 鄂尔多斯市| 东乡族自治县| 汾阳市| 锡林浩特市| 平湖市| 山阴县| 富锦市| 黄浦区| 石河子市| 吕梁市| 香格里拉县| 蓝田县| 南澳县| 屏南县| 丰原市| 宜川县| 安仁县| 阳信县| 和静县| 崇州市| 凤山市| 依兰县| 太湖县| 平顺县| 高州市| 调兵山市| 荆门市| 文昌市| 上虞市| 周宁县| 上高县| 东阳市|