我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 项目源码 > 小Q机器人之大黄鸡java版本
总共48087条微博

动态微博

查看: 3993|回复: 5

小Q机器人之大黄鸡java版本

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-10-18 09:11:12 |只看该作者 |倒序浏览
    小Q机器人之大黄鸡java版本:自定义回复、查询天气、调用小黄鸡、、、版本采用webQQ3.0协议
    2 n* E+ _2 _. ~( u登陆类:Login.java
    $ z2 L4 B8 ~( [" P
    1. public class Login {
      7 A2 g/ P" {2 }* r/ P
    2.     public static void main(String[] args) {
      * i  J7 X  F% \) N( {4 a
    3.         //获取配置
      5 b5 X0 v1 l+ \( l. ~
    4.         Config config = Config.getInstance();
      : s. a3 I  j& ?/ H( U
    5.         String qqName = config.getQQ();
      , H! z2 t7 Y$ d  y$ g2 m- V
    6.         String password = config.getPassword();
      ) r* i5 [+ l. A3 S
    7.         WebQQClientStart qq = new WebQQClientStart(qqName, password);6 v$ t4 C8 H/ q. G9 N- u4 Y
    8.         //登录" i3 I4 x1 S0 w2 V4 m' Y8 i* c
    9.         qq.login();
      , d. {, ^  T# r/ Z
    10.     }
      3 s7 v7 c; d* w4 m, J" J* C: R
    11. }
    复制代码
    配置QQ号密码Config.java:
    # k, u* g/ o9 B
    1. public class Config {/ l* \# n+ s* D! s& f$ J; r
    2. 5 u1 n' y' q0 K. M- s
    3.     private static class ConfigInstance {& q" \! q" j/ c! \
    4. % u6 T; u6 h8 {4 v1 `
    5.         private static final Config INSTANCE = new Config();4 j  T; {9 v0 n2 j- Z
    6.     }
      * V9 x3 z1 l  p; X# t& x
    7. 8 C1 s$ ]2 M0 Q3 W* N
    8.     /**
      5 c3 `8 B( U8 w+ d
    9.      * 配置文件地址$ c- w* Z. W+ R2 v% {
    10.      */
      7 J5 U. H# m. w$ f, W" @8 K
    11.     private static final String PROPERTIES = "config.properties";
      2 E+ C3 v+ Y' l8 J
    12. 8 U& |; ^, B; R3 C- r
    13.     private String qq;
      : k' P1 k* r7 A' M2 A1 P" E1 z6 v

    14. + m! j! S- |, X! w0 t1 r* q
    15.     private String password;
      ! q! T. y% g/ A7 |% F, E/ V
    16.    
      4 d9 I4 ?7 p8 a2 l

    17. 6 F* [8 ]; Q1 l/ Y1 q( A( ?# h7 f
    18.     private Config() {
      , y4 |6 p: {6 V% i
    19.         //读取配置对象
      8 ]0 A/ {8 X& Z9 T4 o
    20.         Properties pro = new Properties();# E: i& T7 I2 X, j- V8 u4 s+ i* Y4 y
    21.         try {  Q4 ^- Q  c8 |1 u- w$ I) O
    22.             pro.load(new FileInputStream(PROPERTIES));
      2 ?1 W" p& G- e; z8 ?, }. j  B' ^
    23.         } catch (IOException ex) {
      ' e. u5 ]  j* `- l* L: P+ x
    24.             ex.printStackTrace();
      6 \1 X" ?* G  g
    25.             System.exit(1);" [) c9 S6 |, y! J
    26.         }; Q1 k& s  ?6 |7 F, l
    27.         this.setQQ(pro.getProperty("QQ"));
      , q4 g& L, J/ L" f
    28.         this.setPassword(pro.getProperty("PASSWORD"));
      & z+ }) ~, {5 T6 ?8 q
    29.     }3 B* P, l9 D  `6 u
    30.     public String getQQ() {
      + H1 X- U- n7 o2 D
    31.         return qq;2 u8 t7 g& A; ~' Q& F3 C8 v4 `6 w
    32.     }
      ) |! @& e/ A8 ]
    33. / c) w: r: X) I/ p5 y: V" h/ S
    34.     private void setQQ(String qq) {
      ! Z1 U2 Y( O# m5 P  B- s
    35.         if (qq.isEmpty()) {2 k, b: b! Y& t! u
    36.           System.out.println("必须在config.properties中填写QQ号!");
      & o/ w% ]9 i! [: k- S  ~
    37.         }$ `  J1 R6 G7 [$ m4 Q, }( u
    38.         this.qq = qq;. R6 V" S) w3 r7 [: e
    39.     }9 Z7 L; a( w" i9 _

    40. + F% c9 |8 s" k- v3 J
    41.     public String getPassword() {* h$ R5 k3 L& `) F
    42.         return password;
      8 q! w2 t# A0 q  `
    43.     }9 C; D/ o, u+ i
    44. 3 [* N& m. `+ K3 e; C; i- Q4 X& u
    45.     private void setPassword(String password) {
      1 h! o& D  F) I/ R8 E
    46.         if (password.isEmpty()) {
      ) f; [  B, t- \& x  S5 ]
    47.             System.out.println("必须在config.properties中填写密码号!");5 T4 ~3 P/ T: B' A1 ^8 H7 [
    48.         }
      ( z* t$ f3 `4 g! C0 ]) X
    49.         this.password = password;) C9 c1 Y5 I+ t# ]5 v9 g
    50.     }6 U/ J. G$ B! e6 Z; {
    51.         public static Config getInstance() {
      6 w# |: v) f+ Z; k  [+ W7 t, p% Z* W
    52.         return ConfigInstance.INSTANCE;( ?1 d3 R' A8 S
    53.     }& U* Y7 }* D! X1 u. r
    54. }
    复制代码
    调用小黄鸡接口 SimsimiTools.java:
    + [; p+ ~* L0 ^- u' S4 ^+ o! f3 h
    1. public class SimsimiTools {) z9 W: ], R* C; m1 w
    2.             /**7 U3 P* |3 A3 [# K: g
    3.              * 小黄鸡机器人7 o1 f4 |; z/ [3 N
    4.              * ; I- l; Q4 G( |- p/ O/ l
    5.              * @author ghma/ g5 I* ]% `% E7 S  o- J0 W+ X
    6.              */
      4 S: w' @, K9 P1 i$ W: _
    7.             public static String getSimsimiContentByNiuren(String params) {
      1 b" S8 ]  S# V; z: y
    8.                 StringBuffer bufferRes = new StringBuffer();
      " B  C! m$ F* Y+ j4 u
    9.                 try {
      & o5 b$ E  b- s
    10.                     URL realUrl = new URL(% Z8 e# n3 |/ \$ |
    11.                             "http://www.niurenqushi.com/app/simsimi/ajax.aspx");
      8 D/ Z" Q! C& T. G1 C- M# x; U6 ^; h
    12.                     HttpURLConnection conn = (HttpURLConnection) realUrl
      % d# ~. j) u" C$ {% z/ c
    13.                             .openConnection();( K0 F2 C% l9 X9 q2 r
    14.                     // 连接超时* F( I4 t. m0 ]# D! ]
    15.                     conn.setConnectTimeout(25000);, A7 C% \% v6 t  G( h
    16.                     // 读取超时 --服务器响应比较慢,增大时间
      $ z2 b8 G( H5 t' x% n1 x" G: s
    17.                     conn.setReadTimeout(25000);
      9 v% P0 F1 V$ L
    18.                     HttpURLConnection.setFollowRedirects(true);3 G0 x# c! G3 `+ E7 k4 g
    19.                     // 请求方式
      2 O% R5 N6 F3 I* @
    20.                     conn.setRequestMethod("POST");
      7 H. w3 d) j: o8 D4 W: y8 C
    21.                     conn.setDoOutput(true);% Q" g( C1 u1 F9 q' e1 S
    22.                     conn.setDoInput(true);2 e, c! y8 y. x
    23.                     conn.setRequestProperty("User-Agent",& B; R4 N8 Y' I6 j5 g' c
    24.                             "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0");2 A( I7 @1 }" u0 a5 h7 d
    25.                     conn.setRequestProperty("Accept", "*/*");9 [1 D6 ]2 R, b- @) f) F2 z& `' R
    26.                     conn.setRequestProperty("Referer",+ w% n! e' Q% G) F9 y- o' T' g. N
    27.                             "http://www.niurenqushi.com/app/simsimi/");
      1 }' G! O% P" j4 B" l+ Y6 K1 d- ]
    28.                     conn.connect();
      . f0 u; g5 C3 G7 Z9 U
    29.                     // 获取URLConnection对象对应的输出流
      # ]/ d/ j9 V& O% L& m: k" J
    30.                     OutputStreamWriter out = new OutputStreamWriter(
      - ^. ?3 [5 ]% y. P
    31.                             conn.getOutputStream());# }1 Q, Z* D& J/ X; t
    32.                     // 发送请求参数' q" q% @+ N  q0 Y$ `6 s# {
    33.                     out.write("txt=" + URLEncoder.encode(params, "UTF-8"));" P) h  J' \( @- C
    34.                     out.flush();9 g6 H" r  D+ u1 \
    35.                     out.close();
      - @, n- ^9 e8 ]- v0 p
    36.                     InputStream in = conn.getInputStream();% A# s6 O" \1 A1 E4 N- I
    37.                     BufferedReader read = new BufferedReader(new InputStreamReader(in," N+ M* x8 c7 V0 h( ]
    38.                             "UTF-8"));( b- }1 n. f5 W# [4 ?  Z. _' t
    39.                     String valueString = null;7 u. x* z# ^- h  x/ j1 A2 k
    40.                     while ((valueString = read.readLine()) != null) {: K. v0 t; b% V: i# |4 f
    41.                         bufferRes.append(valueString);
      6 z! [" p5 x* g& V
    42.                     }) Z3 N1 ~5 F7 _/ `9 c. _; m
    43.                     in.close();
      9 j- Q2 ~! _9 D- E. ?; Y& X  L9 v
    44.                     if (conn != null) {: l- ^2 C8 T1 e2 n4 J! @5 U
    45.                         // 关闭连接3 U" ]7 r) f! t, U' z
    46.                         conn.disconnect();: u; x& U6 f$ s3 n
    47.                     }
      ! U7 J9 ]- p$ Z2 w# h
    48.                 } catch (Exception e) {
      ' b: L0 P* {  S, s' M0 V0 g
    49.                     //System.out.println("小黄鸡接口调用出错!" + e.getMessage());
        u% Y! }3 ]: y) O. h5 Q
    50.                 }
      , i, T9 V+ {% o! h) ]1 Y6 p
    51. / W; c- B+ L8 M. X. @
    52.                 if (bufferRes.toString().equals("干嘛")) {, F- P: j+ i+ p. D, {
    53.                    // return XiaoDouMachine.getXiaoDouMsg(params);" C/ `* B2 ~5 `9 V  j7 A
    54.                 }
      9 I9 Y9 ~% O$ n; k8 ?$ }
    55.                 String finalRes = removeNews(bufferRes.toString());+ }  M) a( l+ F! a3 b+ R: r) Y/ r% `
    56.                 //System.out.println("小黄鸡机器人回复:" + finalRes);' A+ p. D+ Q1 m! Q
    57.                 return finalRes;
      9 L1 R3 n/ G0 K
    58.             }
      % j1 e( i) s$ _1 y. z
    59.             /**9 g$ u! H/ r* C( g) {
    60.              * 屏蔽当前接口中的广告' }" ?# K. t- O& Q
    61.              *
      9 R- B1 g* |$ C  A/ o
    62.              * @return+ q6 i, j  `/ p
    63.              */
      , g" |" k9 P9 r( D
    64.             public static String removeNews(String sendMsgs) {: G# J4 O4 P; {" w
    65.                 // 去除广告
      ) Q% A  x0 i6 i9 z
    66.                 if (sendMsgs.indexOf("simsimi2") != -1) {( M& ^# a0 b. |$ s6 K9 W2 w
    67.                     sendMsgs = "偶是毛小驴,女,还木有男友,欢迎南华学子调戏   O(∩_∩)O";
      ; D2 d! ]' ^# Y1 W) J2 t% C
    68.                 } else if (sendMsgs.indexOf("Database") != -1
      2 v: S- v7 z% l7 V( }. y
    69.                         || sendMsgs.indexOf("Failed") != -1) {
      $ v; ]+ S# b/ t) T. L
    70.                     int random = (int) (Math.random() * 5);( i9 b$ N3 [8 h9 s! K8 k" n
    71.                     switch (random) {4 M. i  W8 n, t
    72.                     case 1:  k# t3 H" `8 A
    73.                         sendMsgs = "嗯";" x0 V. E! g& T# U; n
    74.                         break;
      7 x+ T! l: G# Y! `, |; f
    75.                     case 2:
      0 J: t3 F& T5 @- N
    76.                         sendMsgs = "聊天其它的吧";/ f( W# K; ]& l2 O( [6 I
    77.                         break;( |) p6 |" d/ u9 N4 U2 q
    78.                     case 3:
      4 e) ]0 o2 O7 \4 |9 J$ l' I
    79.                         sendMsgs = "嗯哼";! X( U) k' W' [
    80.                         break;9 E. m+ B  q) _4 E, M/ `
    81.                     case 4:' Q5 F: R) e- W% f# l
    82.                         sendMsgs = "哎呀";: v. P- z, b- P; m' p
    83.                         break;
      0 F) U. o& x- E/ ]
    84.                     case 5:1 j% z3 _$ _6 J, j! [3 D
    85.                         sendMsgs = "额";
      - N: V4 u4 ~& g+ e$ t# y/ l( r
    86.                         break;
      * ]$ B8 g9 X4 z3 H$ s9 w, K
    87.                     default:. s) c1 v8 s! q. l3 y" e
    88.                         sendMsgs = "嗯";8 B, u: i9 |7 L
    89.                         break;0 d2 i3 w! p! N& `' r* D
    90.                     }0 S- C( Y2 G( w& r3 O: h
    91.                 } else if (sendMsgs.indexOf("Unauthorized access") != -1) {% _- U% L- r9 Y0 U
    92.                     sendMsgs = "我怎么听不懂你说的什么意思呀[大哭]。咱们能换个话题吗!";4 q# }% {8 a/ q: V  |: c4 @5 j
    93.                 } else if (sendMsgs.indexOf("你可以教我回答") != -1) {4 u$ A: X! k4 K7 Z3 @- q4 B1 n1 z4 N
    94.                     sendMsgs = "好吧";
      & q1 S+ G9 p; X6 O" H6 s
    95.                 }
        z9 B1 }$ ]+ U, ^  F
    96.                 // 替换部分内容
      : y( H8 h& `3 A
    97.                 sendMsgs = sendMsgs.replaceAll("傻逼", "sb");
      % V9 K9 _& ^0 m: t3 O% K/ @) U
    98.                 sendMsgs = sendMsgs.replaceAll("小九", "毛小驴");
      # o, o! o4 \! i, @2 o' [
    99.                 sendMsgs = sendMsgs.replaceAll("小豆", "小贱贱");4 p: F( U# l! Q9 o) V
    100.                 sendMsgs = sendMsgs/ s) B8 ?- l) l: B
    101.                         .replaceAll(
      + G( _8 I. H6 F! w) C
    102.                                 "小豆机器人网页版地址:http://www.52itstyle.top QQ个性网http://www.52itstyle.top",
      7 n: F0 U. N/ ]# Q: C& u8 t
    103.                                 "伦家不懂官人的话了啦~");
      4 N* P$ Y; ?5 @( a' _# H
    104.                 sendMsgs = sendMsgs.replaceAll("小豆", "毛小驴");* q6 E# S: S2 P0 ]/ |1 ?& x; k4 K
    105.                 sendMsgs = sendMsgs.replaceAll("人家", "伦家");
      4 c+ a% k" F7 W+ c
    106.                 sendMsgs = sendMsgs.replaceAll("科帮网http://www.52itstyle.top",. T% D2 k" w6 y3 T
    107.                         "伦家不懂官人的话了啦~");' \" I0 W2 H" _
    108.                 return sendMsgs;9 X' H* d' o" {" j. c: K: D
    109.             }
      ) [" n" Q& `# Y- s
    110. }
    复制代码
    根据城市名字调用天气接口Weather.java:
    , E0 B9 g+ E( F1 X6 [
    1. public class Weather {
      - K0 b+ y" {9 m9 T( S
    2.     public  static String Weather(String cityName) throws IOException ,NullPointerException{
      0 C  Z' X/ |# f. G1 ~
    3.             String Cityid=  getCityId(cityName);
      9 l/ n9 u5 i6 l8 f3 @( @" J' c
    4.         // 连接中央气象台的API 3 z4 L! G* C/ a
    5.         URL url = new URL("http://m.weather.com.cn/data/" + Cityid + ".html"); 9 H' ]5 c8 q/ c/ m- }8 H& N( C
    6.         System.out.println(url);: ], U3 h# I! U8 k* D
    7.         URLConnection  connectionData = url.openConnection(); # y  j4 y& y! R+ h/ q
    8.         connectionData.setConnectTimeout(1000); : b- }  {) A3 O
    9.         StringBuilder sb = new StringBuilder();
      " o4 E$ y* _$ q
    10.         try { % }& b2 o; N# S, [5 g' q
    11.                 BufferedReader br = new BufferedReader(new InputStreamReader( 9 b6 J4 l1 `4 c1 q( t& l. T+ K
    12.                     connectionData.getInputStream(), "UTF-8"));
      / T) I3 _$ F9 {& L: s$ I, M6 X% {/ a. I
    13.             String line = null; / V4 [% z# H0 p- F' b. M
    14.             while ((line = br.readLine()) != null) % x! `6 h1 w" z% N; d/ c: D. A
    15.                 sb.append(line);
      9 J6 `  q0 |  G) J
    16.         } catch (SocketTimeoutException e) { ' o5 q- u* b8 y9 {" [
    17.             System.out.println("连接超时"); 6 N1 W- p% [" ?8 _
    18.         } catch (FileNotFoundException e) {
      ! D2 D9 Y3 w# C2 F
    19.             System.out.println("加载文件出错");
      : l2 v& }% ~; K( Y$ [9 {. \* s
    20.         } # ?: v# H( g6 V
    21.          String datas = sb.toString();   $ |- g# @* \) v  V
    22.          JSONObject jsonData = JSONObject.fromObject(datas); ( X' D' t! p2 F6 p' @* Z% d
    23.          JSONObject info = jsonData.getJSONObject("weatherinfo"); 3 t* X7 K, i  c; D. O# {% Q/ y* a
    24.         //得到1到6天的天气情况
      ' K0 ^6 Y9 M9 X8 e
    25.         List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();( N) U; x$ J" S2 O9 C! x
    26.         sb = new StringBuilder(); 5 a5 m& d2 K) O0 F% `% q
    27.         for(int i=1;i<=3;i++){
      ( ^, [2 s. J9 p/ m/ Q: C
    28.             //得到未来6天的日期
        v+ N# ^( k8 f/ V! K. }3 }: w
    29.             Calendar cal = Calendar.getInstance();
      7 I. F: B/ x# ~8 q1 Z0 p$ `  O  r
    30.             cal.add(Calendar.DAY_OF_YEAR, i-1);
      . L4 O& F' G. Y" S' T7 n
    31.             Date date = cal.getTime();
      4 L$ a$ w: J% H+ i( p, k' W
    32.             SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");+ m4 D- m1 d) h! d
    33.             Map<String,Object> map = new HashMap<String, Object>();
      # Y: ~6 z4 f5 q
    34.             map.put("city", info.getString("city").toString());//城市/ i# E% `  J3 a1 `9 m
    35.             map.put("date_y", sf.format(date));//日期; c3 G+ X' g0 J4 l, U: ~. Z" n5 _
    36.             map.put("week", getWeek(cal.get(Calendar.DAY_OF_WEEK)));//星期
        [. v9 e, M+ W
    37.             map.put("fchh", info.getString("fchh").toString());//发布时间
      ' d1 W; }! v5 P( g5 i7 ?% [
    38.             map.put("weather", info.getString("weather"+i).toString());//天气- C1 `( q& C! N/ o+ n( q3 ^
    39.             map.put("temp", info.getString("temp"+i).toString());//温度
      0 V+ `  L+ P! W
    40.             map.put("wind", info.getString("wind"+i).toString());//风况
      8 ~* D) T" I# m# o6 X7 l  H1 k
    41.             map.put("fl", info.getString("fl"+i).toString());//风速
      ( w+ S0 Y/ z9 L* G8 `/ D
    42.             map.put("index", info.getString("index").toString());// 今天的穿衣指数
      2 E6 {; J5 n6 Y) R
    43.             map.put("index_uv", info.getString("index_uv").toString());// 紫外指数 ( K9 f% X2 ~) x( M" r9 K
    44.             map.put("index_tr", info.getString("index_tr").toString());// 旅游指数 ( ^( V7 ?  c+ K4 Q
    45.             map.put("index_co", info.getString("index_co").toString());// 舒适指数 , X2 Y: J2 J/ c; p
    46.             map.put("index_cl", info.getString("index_cl").toString());// 晨练指数
      # j$ G( ^- u" K! k
    47.             map.put("index_xc", info.getString("index_xc").toString());//洗车指数
      # ^; B! c: v5 v# y
    48.             map.put("index_d", info.getString("index_d").toString());//天气详细穿衣指数 6 F% j* J+ Y% H& u3 R7 \
    49.             list.add(map);* T  s7 n  ^+ v% Z
    50.         }
      & ]; W( P: Z1 F) q1 q
    51.         //控制台打印出天气& a8 q# R0 a7 X8 k2 \
    52.        for(int j=0;j<list.size();j++){% p  r& u" I5 T4 d
    53.            Map<String,Object> wMap = list.get(j);
      8 x! m5 ~4 ~: q# F% e3 `
    54.            sb.append(wMap.get("city")+"\t"+wMap.get("date_y")+"\t"+wMap.get("week")+"\t"
      ; n! q- n! p2 B, D' Q# f; ]
    55.                    +wMap.get("weather")+"\t"+wMap.get("temp")+"\t"+wMap.get("index_uv")+"\n");
      % a  l1 s( b) u* [
    56.        }) t" C- j3 E8 h
    57.        return sb.toString();# F; _5 ]/ t+ x! ~; L" u- U9 X6 M* y
    58.   
      / h' I* z0 J. B& n/ J
    59.     } # P* v7 K% l* `3 b. z
    60.     private static String  getWeek(int iw){1 e  z; ]) L% a( g
    61.         String weekStr = "";
      5 L7 F  `8 L0 w4 u8 K$ D. }* O
    62.         switch (iw) {
      " v5 L, d0 g. ^
    63.         case 1:weekStr = "星期天";break;
      ! }  H9 U, R% c) D% o
    64.         case 2:weekStr = "星期一";break;
      # B4 |- h4 B! ^) m* N
    65.         case 3:weekStr = "星期二";break;% O$ [; P3 h9 j
    66.         case 4:weekStr = "星期三";break;
      ) G% _9 A- e$ Y' K; `' ]( c% E/ o
    67.         case 5:weekStr = "星期四";break;0 _, z7 m. l: `
    68.         case 6:weekStr = "星期五";break;7 r; L+ _) ?5 S) ]/ U
    69.         case 7:weekStr = "星期六";break;
      % U- a3 H" E4 {. l: M( I  z8 m- o! I
    70.         default:; m$ ?$ p9 [/ m9 T  h/ z+ j, A
    71.             break;3 x6 z" w( s* {. R/ M
    72.         }3 J' C8 W# c2 }1 ~
    73.         return weekStr;
      ' |: Q! n; j/ ^, w  _1 m: `+ C, F
    74.     }
      + l2 B/ v+ j2 ]7 c3 x: ^; S5 D: `
    75.     private static String  getCityId(String cityName){
      , U& {. I, D1 ^- O1 K3 S- I
    76.         Map<String,String> map = new HashMap<String, String>();
      1 G) V: t& Z# @$ x
    77.         map.put("北京","101010100");map.put("上海","101020100");map.put("天津","101030100");map.put("重庆","101040100");map.put("香港","101320101");map.put("澳门","101330101");map.put("哈尔滨","101050101");map.put("齐齐哈尔","101050201");map.put("牡丹江","101050301");map.put("大庆","101050901");map.put("伊春","101050801");map.put("双鸭山","101051301");map.put("鹤岗","101051201");map.put("鸡西","101051101");map.put("佳木斯","101050401");map.put("七台河","101051002");map.put("黑河","101050601");map.put("绥化","101050501");map.put("大兴安岭","101050701");map.put("长春","101060101");map.put("延吉","101060301");map.put("吉林","101060201");map.put("白山","101060901");map.put("白城","101060601");map.put("四平","101060401");map.put("松原","101060801");map.put("辽源","101060701");map.put("大安","101060603");map.put("通化","101060501");map.put("沈阳","101070101");map.put("大连","101070201");map.put("葫芦岛","101071401");map.put("盘锦","101071301");map.put("本溪","101070501");map.put("抚顺","101070401");map.put("铁岭","101071101");map.put("辽阳","101071001");map.put("营口","101070801");map.put("阜新","101070901");map.put("朝阳","101071201");map.put("锦州","101070701");map.put("丹东","101070601");map.put("鞍山","101070301");map.put("呼和浩特","101080101");map.put("呼伦贝尔","101081000");map.put("锡林浩特","101080901");map.put("包头","101080201");map.put("赤峰","101080601");map.put("海拉尔","101081001");map.put("乌海","101080301");map.put("鄂尔多斯","101080701");map.put("通辽","101080501");map.put("石家庄","101090101");map.put("唐山","101090501");map.put("张家口","101090301");map.put("廊坊","101090601");map.put("邢台","101090901");map.put("邯郸","101091001");map.put("沧州","101090701");map.put("衡水","101090801");map.put("承德","101090402");map.put("保定","101090201");map.put("秦皇岛","101091101");map.put("郑州","101180101");map.put("开封","101180801");map.put("洛阳","101180901");map.put("平顶山","101180501");8 p( ~& Z) b3 Y$ u- g
    78.         map.put("焦作","101181101");map.put("鹤壁","101181201");map.put("新乡","101180301");map.put("安阳","101180201");map.put("濮阳","101181301");map.put("许昌","101180401");map.put("漯河","101181501");map.put("三门峡","101181701");map.put("南阳","101180701");map.put("商丘","101181001");map.put("信阳","101180601");map.put("周口","101181401");map.put("驻马店","101181601");map.put("太原","101100101");map.put("阳泉","101100301");map.put("晋城","101100601");map.put("晋中","101100401");map.put("临汾","101100701");map.put("运城","101100801");map.put("长治","101100501");map.put("朔州","101100901");map.put("忻州","101101001");map.put("大同","101100201");map.put("吕梁","101101101");map.put("西安","101110101");map.put("韩城","101110510");map.put("安康","101110701");map.put("汉中","101110801");map.put("宝鸡","101110901");map.put("咸阳","101110200");map.put("榆林","101110401");map.put("渭南","101110501");map.put("商洛","101110601");map.put("铜川","101111001");map.put("延安","101110300");map.put("银川","101170101");map.put("固原","101170401");map.put("中卫","101170501");map.put("石嘴山","101170201");map.put("吴忠","101170301");map.put("兰州","101160101");map.put("白银","101161301");map.put("庆阳","101160401");map.put("酒泉","101160801");map.put("天水","101160901");map.put("武威","101160501");map.put("张掖","101160701");map.put("甘南","101050204");map.put("临夏","101161101");map.put("平凉","101160301");map.put("定西","101160201");map.put("金昌","101160601");map.put("西宁","101150101");map.put("海北","101150801");map.put("海西","101150701");map.put("黄南","101150301");map.put("果洛","101150501");map.put("玉树","101150601");map.put("海东","101150201");map.put("海南","101150401");map.put("武汉","101200101");map.put("宜昌","101200901");map.put("黄冈","101200501");map.put("恩施","101201001");map.put("荆州","101200801");map.put("神农架","101201201");map.put("十堰","101201101");map.put("咸宁","101200701");map.put("襄阳","101200201");map.put("孝感","101200401");map.put("随州","101201301");map.put("黄石","101200601");7 J+ z( x* `1 d3 C7 _
    79.         map.put("荆门","101201401");map.put("鄂州","101200301");map.put("长沙","101250101");map.put("邵阳","101250901");map.put("常德","101250601");map.put("郴州","101250501");map.put("吉首","101251501");map.put("株洲","101250301");map.put("娄底","101250801");map.put("湘潭","101250201");map.put("益阳","101250701");map.put("永州","101251401");map.put("岳阳","101251001");map.put("衡阳","101250401");map.put("怀化","101251201");map.put("韶山","101250202");map.put("张家界","101251101");map.put("杭州","101210101");map.put("湖州","101210201");map.put("金华","101210901");map.put("宁波","101210401");map.put("丽水","101210801");map.put("绍兴","101210501");map.put("衢州","101211001");map.put("嘉兴","101210301");map.put("台州","101210601");map.put("舟山","101211101");map.put("温州","101210701");map.put("南昌","101240101");map.put("萍乡","101240901");map.put("九江","101240201");map.put("上饶","101240301");map.put("抚州","101240401");map.put("吉安","101240601");map.put("鹰潭","101241101");map.put("宜春","101240501");map.put("新余","101241001");map.put("景德镇","101240801");map.put("赣州","101240701");map.put("福州","101230101");map.put("厦门","101230201");map.put("龙岩","101230701");map.put("南平","101230901");map.put("宁德","101230301");map.put("莆田","101230401");map.put("泉州","101230501");map.put("三明","101230801");map.put("漳州","101230601");map.put("贵阳","101260101");map.put("安顺","101260301");map.put("赤水","101260208");map.put("遵义","101260201");map.put("铜仁","101260601");map.put("六盘水","101260801");map.put("毕节","101260701");map.put("凯里","101260501");map.put("都匀","101260401");map.put("成都","101270101");map.put("泸州","101271001");map.put("内江","101271201");map.put("凉山","101271601");map.put("阿坝","101271901");map.put("巴中","101270901");map.put("广元","101272101");map.put("乐山","101271401");map.put("绵阳","101270401");map.put("德阳","101272001");map.put("攀枝花","101270201");map.put("雅安","101271701");map.put("宜宾","101271101");map.put("自贡","101270301");map.put("甘孜州","101271801");map.put("达州","101270601");map.put("资阳","101271301");; Y% t8 c6 S- d3 }/ f0 f9 k. _
    80.         map.put("广安","101270801");map.put("遂宁","101270701");map.put("眉山","101271501");map.put("南充","101270501");! k2 d! }& B+ ~. `( v4 n8 X0 b
    81.         map.put("广州","101280101");map.put("深圳","101280601");map.put("潮州","101281501");map.put("韶关","101280201");4 v+ P+ d! S  a- p- D7 q
    82.         map.put("湛江","101281001");map.put("惠州","101280301");map.put("清远","101281301");map.put("东莞","101281601");; I* F/ [1 X* ~8 w
    83.         map.put("江门","101281101");map.put("茂名","101282001");map.put("肇庆","101280901");map.put("汕尾","101282101");
      1 J5 g/ m" E) V: }+ C9 J8 L9 A+ R' T
    84.         map.put("河源","101281201");map.put("揭阳","101281901");map.put("梅州","101280401");map.put("中山","101281701");6 d' o& ?5 h0 U8 I$ Q
    85.         map.put("德庆","101280905");map.put("阳江","101281801");map.put("云浮","101281401");map.put("珠海","101280701");
      ( ~3 S, H' A( \; e+ H4 S
    86.         map.put("汕头","101280501");map.put("佛山","101280800");map.put("南宁","101300101");map.put("桂林","101300501");' M1 A* @( Q+ g" W! C* B) K+ P& l
    87.         map.put("阳朔","101300510");map.put("柳州","101300301");map.put("梧州","101300601");map.put("玉林","101300901");
      8 e* U- i0 }' \% T; [! O1 W
    88.         map.put("桂平","101300802");map.put("贺州","101300701");map.put("钦州","101301101");map.put("贵港","101300801");  J8 O1 D' k# u
    89.         map.put("防城港","101301401");map.put("百色","101301001");map.put("北海","101301301");map.put("河池","101301201");+ }8 V) f. s2 G; ]# `
    90.         map.put("来宾","101300401");map.put("崇左","101300201");map.put("昆明","101290101");map.put("保山","101290501");$ f# x' F; s. s
    91.         map.put("楚雄","101290801");map.put("德宏","101291501");map.put("红河","101290301");map.put("临沧","101291101");
      8 i' F, s: b. @2 Y
    92.         map.put("怒江","101291201");map.put("曲靖","101290401");map.put("思茅","101290901");
      # f" u' ?; R. o; o
    93.         map.put("文山","101290601");map.put("玉溪","101290701");map.put("昭通","101291001");) L! W% K+ z, e5 y
    94.         map.put("丽江","101291401");map.put("大理","101290201");map.put("海口","101310101");% @& N1 _  A& e9 R
    95.         map.put("三亚","101310201");map.put("儋州","101310205");map.put("琼山","101310102");map.put("通什","101310222");
      + ^  L2 ~8 Y. B4 m
    96.         map.put("文昌","101310212");map.put("乌鲁木齐","101130101");map.put("阿勒泰","101131401");map.put("阿克苏","101130801");
      " d: o! d3 @2 H( U) Y# E0 a
    97.         map.put("昌吉","101130401");map.put("哈密","101131201");map.put("和田","101131301");map.put("喀什","101130901");. u7 v) g- _' R! ?& [" t
    98.         map.put("克拉玛依","101130201");map.put("石河子","101130301");map.put("塔城","101131101");map.put("库尔勒","101130601");" T4 Y/ V; y" ]' l' k$ ]# T
    99.         map.put("吐鲁番","101130501");map.put("伊宁","101131001");map.put("拉萨","101140101");map.put("阿里","101140701");% }. d+ o) w: w7 S9 ~" r  s
    100.         map.put("昌都","101140501");map.put("那曲","101140601");map.put("日喀则","101140201");map.put("山南","101140301");* n" `) E3 E9 S) U4 K
    101.         map.put("林芝","101140401");map.put("台北","101340102");map.put("高雄","101340201");map.put("南京","101190101");/ _+ b# h2 [. a8 o) `8 ]
    102.         map.put("溧水","101190102");map.put("高淳","101190103");map.put("江宁","101190104");map.put("六合","101190105");0 {* }0 J, Y. X" M
    103.         map.put("江浦","101190106");map.put("无锡","101190201");map.put("江阴","101190202");map.put("宜兴","101190203");1 L' i, D, H. T, R, ]7 W
    104.         map.put("锡山","101190204");map.put("徐州","101190801");map.put("铜山","101190802");map.put("丰县","101190803");
      : N; S* f; [# A5 H, N
    105.         map.put("沛县","101190804");map.put("邳州","101190805");map.put("睢宁","101190806");map.put("新沂","101190807");6 }' x8 B' H4 ^" z
    106.         map.put("常州","101191101");map.put("溧阳","101191102");map.put("金坛","101191103");map.put("武进","101191104");) f; R8 O8 X1 j/ |8 D2 c& C
    107.         map.put("苏州","101190401");map.put("常熟","101190402");map.put("张家港","101190403");map.put("昆山","101190404");* v* b1 F* d, h: O; E. H
    108.         map.put("吴中","101190405");map.put("吴江","101190407");map.put("太仓","101190408");map.put("南通","101190501");
      / f) U" r- l: m
    109.         map.put("海安","101190502");map.put("如皋","101190503");map.put("如东","101190504");map.put("启东","101190507");7 A0 F6 S! }6 \5 ]: K- L5 y% X
    110.         map.put("海门","101190508");map.put("通州","101190509");map.put("连云港","101191001");map.put("东海","101191002");
      , m2 C' i. F9 M2 E
    111.         map.put("赣榆","101191003");map.put("灌云","101191004");map.put("灌南","101191005");map.put("淮安","101190901");, F7 Y: i. ~. s9 d
    112.         map.put("金湖","101190902");map.put("盱眙","101190903");map.put("洪泽","101190904");map.put("涟水","101190905");* J* v5 r" v" Q% m+ a0 J4 s* K0 `
    113.         map.put("淮阴区","101190906");map.put("淮阴","101190907");map.put("淮安区","101190908");map.put("盐城","101190701");map.put("响水","101190702");map.put("滨海","101190703");map.put("阜宁","101190704");map.put("射阳","101190705");map.put("建湖","101190706");map.put("东台","101190707");map.put("大丰","101190708");map.put("盐都","101190709");map.put("扬州","101190601");map.put("宝应","101190602");map.put("仪征","101190603");map.put("高邮","101190604");map.put("江都","101190605");map.put("邗江","101190606");map.put("镇江","101190301");map.put("丹阳","101190302");map.put("扬中","101190303");map.put("句容","101190304");map.put("丹徒","101190305");map.put("泰州","101191201");map.put("兴化","101191202");map.put("泰兴","101191203");map.put("姜堰","101191204");map.put("靖江","101191205");map.put("宿迁","101191301");map.put("沭阳","101191301");map.put("泗阳","101191301");map.put("泗洪","101191301");map.put("宿豫","101191301");map.put("合肥","101220101");map.put("长丰","101220101");map.put("肥东","101220101");map.put("肥西","101220101");map.put("芜湖","101220301");map.put("繁昌","101220302");map.put("南陵","101220304");map.put("芜湖县","101220303");+ p8 y$ L7 ^* ^6 u+ t* L& l5 w4 L
    114.         map.put("蚌埠","101220201");map.put("怀远","101220202");map.put("固镇","101220203");map.put("五河","101220204");map.put("淮南","101220401");map.put("凤台","101220402");map.put("潘集","101220403");map.put("马鞍山","101220501");map.put("当涂","101220502");map.put("淮北","101221201");map.put("濉溪","101221201");map.put("铜陵","101221301");map.put("安庆","101220601");map.put("枞阳","101220602");map.put("太湖","101220603");map.put("潜山","101220604");map.put("怀宁","101220605");map.put("宿松","101220606");map.put("望江","101220607");map.put("岳西","101220608");map.put("桐城","101220609");map.put("黄山","101221001");map.put("黄山区","101221002");map.put("屯溪","101221003");map.put("祁门","101221004");map.put("黟县","101221005");map.put("歙县","101221006");map.put("休宁","101221007");map.put("黄山风景区","101221008");map.put("阜阳","101220801");map.put("阜南","101220802");map.put("颍上","101220803");map.put("临泉","101220804");map.put("界首","101220805");map.put("太和","101220806");map.put("宿州","101220701");map.put("砀山","101220702");map.put("灵璧","101220703");map.put("泗县","101220704");map.put("萧县","101220705");map.put("滁州","101221101");map.put("凤阳","101221102");map.put("明光","101221103");map.put("定远","101221104");map.put("全椒","101221105");map.put("来安","101221106");map.put("天长","101221107");map.put("六安","101221501");map.put("寿县","101221503");map.put("霍邱","101221502");map.put("金寨","101221505");map.put("霍山","101221506");map.put("舒城","101221507");map.put("宣城","101221401");map.put("泾县","101221401");map.put("旌德","101221401");map.put("宁国","101221401");map.put("绩溪","101221401");map.put("广德","101221401");map.put("郎溪","101221401");map.put("池州","101221701");map.put("东至","101221702");map.put("青阳","101221703");map.put("九华山","101221704");map.put("石台","101221705");map.put("亳州","101220901");map.put("涡阳","101220902");map.put("利辛","101220903");map.put("蒙城","101220904");map.put("巢湖","101221601");map.put("庐江","101221602");map.put("无为","101221603");map.put("含山","101221604");map.put("和县","101221605");map.put("济南","101120101");map.put("长清","101120102");map.put("商河","101120103");map.put("章丘","101120104");map.put("平阴","101120105");map.put("济阳","101120106");map.put("青岛","101120201");map.put("崂山","101120202");
      ! K4 O8 ]/ s; i  Z- z$ x' i
    115.         map.put("即墨","101120204");map.put("胶州","101120205");map.put("胶南","101120206");map.put("莱西","101120207");map.put("平度","101120208");map.put("淄博","101120301");map.put("淄川","101120302");map.put("博山","101120303");map.put("高清","101120304");map.put("周村","101120305");map.put("沂源","101120306");map.put("桓台","101120307");map.put("临淄","101120308");map.put("枣庄","101121401");map.put("薛城","101121402");map.put("峄城","101121403");map.put("台儿庄","101121404");map.put("滕州","101121405");map.put("东营","101121201");map.put("河口","101121202");map.put("垦利","101121203");map.put("利津","101121204");map.put("广饶","101121205");map.put("烟台","101120501");map.put("莱州","101120502");map.put("长岛","101120503");map.put("蓬莱","101120504");map.put("龙口","101120505");map.put("招远","101120506");map.put("栖霞","101120507");map.put("福山","101120508");map.put("牟平","101120509");map.put("莱阳","101120510");map.put("海阳","101120511");map.put("潍坊","101120601");map.put("青州","101120602");
      + A5 X2 G, u: t, G
    116.         map.put("寿光","101120603");map.put("临朐","101120604");map.put("昌乐","101120605");map.put("昌邑","101120606");map.put("安丘","101120607");map.put("高密","101120608");map.put("诸城","101120609");map.put("济宁","101120701");map.put("嘉祥","101120702");map.put("微山","101120703");map.put("鱼台","101120704");map.put("兖州","101120705");map.put("金乡","101120706");map.put("汶上","101120707");map.put("泗水","101120708");map.put("梁山","101120709");map.put("曲阜","101120710");map.put("邹城","101120711");map.put("泰安","101120801");map.put("新泰","101120802");map.put("肥城","101120804");map.put("东平","101120805");map.put("宁阳","101120806");map.put("威海","101121301");map.put("文登","101121302");map.put("荣成","101121303");map.put("乳山","101121304");map.put("成山头","101121305");map.put("石岛","101121306");map.put("日照","101121501");map.put("五莲","101121502");map.put("莒县","101121503");map.put("莱芜","101121601");map.put("临沂","101120901");map.put("莒南","101120902");map.put("沂南","101120903");map.put("苍山","101120904");map.put("临沭","101120905");- t7 z4 g( S% c- O% D: N8 M
    117.         map.put("郯城","101120906");map.put("蒙阴","101120907");map.put("平邑","101120908");map.put("费县","101120909");map.put("沂水","101120910");- c6 f! L2 |: ?& c* B5 E5 @6 o
    118.         map.put("德州","101120401");map.put("武城","101120402");map.put("临邑","101120403");map.put("陵县","101120404");map.put("齐河","101120405");map.put("乐陵","101120406");map.put("庆云","101120407");map.put("平原","101120408");map.put("宁津","101120409");map.put("夏津","101120410");map.put("禹城","101120411");map.put("聊城","101121701");map.put("冠县","101121702");map.put("阳谷","101121703");map.put("高唐","101121704");map.put("茌平","101121705");map.put("东阿","101121706");map.put("临清","101121707");map.put("莘县","101121709");map.put("滨州","101121101");map.put("博兴","101121102");map.put("无棣","101121103");map.put("阳信","101121104");map.put("惠民","101121105");map.put("沾化","101121106");map.put("邹平","101121107");map.put("菏泽","101121001");map.put("鄄城","101121002");map.put("郓城","101121003");map.put("东明","101121004");map.put("定陶","101121005");map.put("巨野","101121006");map.put("曹县","101121007");map.put("成武","101121008");map.put("单县","101121009");
      $ ?+ B( ?8 b5 x6 |
    119.         System.out.println(cityName);0 h  H& ^; A0 [4 ~8 J
    120.         return map.get(cityName.trim());: D( ~% m5 B4 O: O
    121.     }
      ; F6 `% D0 ^! q1 n' c- e! h
    122. //    public static void main(String[] args) {
      ' q( ^9 F3 [: A* i4 k) ]6 m* @
    123. //        try {
      " Q; L" _1 G/ ~( A  c0 R
    124. //                //System.out.println(getCityId("胶州"));, {% `& n! j: x) T/ D8 l/ C+ i: O
    125. //                Weather.Weather("上海");
      # }: X- g4 j, G( j3 {' p- D6 t
    126. //        } catch (Exception e) {
      & N- K+ i6 O7 R0 D: B: S* r# \
    127. //            e.printStackTrace(); / W, A7 H: G7 _. ^4 d+ l
    128. //        }
      ; a, L/ A0 b2 @1 T" v
    129. //    } 1 c9 [+ m- H" W1 T3 H4 i0 m3 ^
    130. }
    复制代码

    9 W, z$ y1 o% I# c( n& s
    - [8 O  E3 n6 Q4 q4 S6 _) t: F

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    红红火火恍恍惚惚

    10

    主题

    5

    听众

    1108

    金钱

    五袋长老

    该用户从未签到

    90后

    沙发
    发表于 2015-12-31 10:20:52 |只看该作者
    WebQQClientStart  是什么
    回复

    使用道具 举报

    1

    主题

    3

    听众

    341

    金钱

    四袋长老

    该用户从未签到

    板凳
    发表于 2016-03-17 22:07:50 |只看该作者
    学习一下。谢谢
    回复

    使用道具 举报

    woniu 实名认证   

    2

    主题

    0

    听众

    330

    金钱

    四袋长老

    该用户从未签到

    地板
    发表于 2016-04-12 11:39:40 |只看该作者
    这个项目太棒勒!下下来学习下!
    回复

    使用道具 举报

    28

    主题

    1

    听众

    432

    金钱

    四袋长老

    该用户从未签到

    5#
    发表于 2016-04-19 16:50:07 |只看该作者
    学习到了很多类和方法的调用谢谢了!
    回复

    使用道具 举报

    5

    主题

    0

    听众

    316

    金钱

    四袋长老

    该用户从未签到

    6#
    发表于 2017-08-14 08:41:04 |只看该作者
    不错不错不错,学习一下
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表