⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weather.java~1~

📁 天气预报的wap网页
💻 JAVA~1~
字号:
package wapserver;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * @author unascribed * @version 1.0 */import java.util.*;import java.io.*;public class Weather {    //54511,北京,北京,116.17,39.56,54.7,100000,010,04:46,19:47,    //0624,0625,00404,10000,23021,52222,63078,73051,13000,    //     0626,00402,10000,22133,    //     0627,00200,10000,22236,    //     0628,00101,10000,21931,    //     0629,00101,10000,22030    public Weather() {    }    public String Get_Weather_B_Url(Vector v,int day){        String w = Get_Weather(v,day);        String result = "无数据";        StringTokenizer st = new StringTokenizer(w,"-");        if(st.hasMoreElements() ){            result = (String)st.nextElement() ;        }        result = Utility.getWeatherSmallPic(result);        return result;    }    public String Get_Weather_E_Url(Vector v,int day){        String w = Get_Weather(v,day);        String result = "无数据";        StringTokenizer st = new StringTokenizer(w,"-");        if(st.hasMoreElements() ){            result = (String)st.nextElement() ;        }        if(st.hasMoreElements() ){            result = (String)st.nextElement() ;        }        result = Utility.getWeatherSmallPic(result);        return result;    }    public String Get_Weather(Vector v,int day){        //54511(1),北京,北京,116.17,39.56,54.7,100000,010,04:46,19:47(10),        //0624,0625,00404,10000,23021,52222,63078,73051,13000(19),        //     0626,00402,10000,22133(23),        //     0627,00200,10000,22236(27),        //     0628,00101,10000,21931(31),        //     0629,00101,10000,22030,08:00(36)        String result = "无数据";        try{        if(day == 1){            result = (String)v.get(12);        }else if(day == 2){            result = (String)v.get(20);        }else if(day == 3){            result = (String)v.get(24);        }else if(day == 4){            result = (String)v.get(28);        }else if(day == 5){            result = (String)v.get(32);        }        }catch(Exception e){               }               result = decodeWeather(result);        return result;    }    public String Get_Wind(Vector v,int day){        //54511(1),北京,北京,116.17,39.56,54.7,100000,010,04:46,19:47(10),        //0624,0625,00404,10000,23021,52222,63078,73051,13000(19),        //     0626,00402,10000,22133(23),        //     0627,00200,10000,22236(27),        //     0628,00101,10000,21931(31),        //     0629,00101,10000,22030,08:00(36)       String result = "无数据";               try{                   if(day == 1){                       result = (String)v.get(13);                   }else if(day == 2){                       result = (String)v.get(21);                   }else if(day == 3){                       result = (String)v.get(25);                   }else if(day == 4){                       result = (String)v.get(29);                   }else if(day == 5){                       result = (String)v.get(33);                   }               }catch(Exception e){               }               result = decodeWind(result);       return result;    }    public String Get_Temp(Vector v,int day){        //54511(1),北京,北京,116.17,39.56,54.7,100000,010,04:46,19:47(10),        //0624,0625,00404,10000,23021,52222,63078,73051,13000(19),        //     0626,00402,10000,22133(23),        //     0627,00200,10000,22236(27),        //     0628,00101,10000,21931(31),        //     0629,00101,10000,22030,08:00(36)        String result = "无数据";               try{               if(day == 1){                   result = (String)v.get(14);               }else if(day == 2){                   result = (String)v.get(22);               }else if(day == 3){                   result = (String)v.get(26);               }else if(day == 4){                   result = (String)v.get(30);               }else if(day == 5){                   result = (String)v.get(34);               }               }catch(Exception e){               }            result = decodeTemp(result);       return result;    }    //================================    public Vector GetAll(String cityName,String path){//今天 通过城市名查找到行,并且将其分解到Vector中        String str = GetLineByCity(cityName,path);        Vector v = new Vector();        v.removeAllElements() ;        StringTokenizer st = new StringTokenizer(str,",");        System.out.println(st.toString() );        while(st.hasMoreElements() ){            v.addElement((String)st.nextElement()) ;        }        return v;    }    public Vector GetPreAll(String cityName,String path){//昨天 通过城市名查找到行,并且将其分解到Vector中    String str = GetPreLineByCity(cityName,path);    Vector v = new Vector();    v.removeAllElements() ;    StringTokenizer st = new StringTokenizer(str,",");    System.out.println(st.toString() );    while(st.hasMoreElements() ){        v.addElement((String)st.nextElement()) ;    }    return v;    }    public String GetLineByCity(String cityName,String path){//获得 当天 的5天预报行        String result = "无数据";//"54511,北京,北京,116.17,39.56,54.7,31,1,晴,32℃-18℃,风力小于3级,强,可吸入颗粒物,良,2,晴,18℃-33℃,风力小于3级,3,晴,19℃-31℃,风力小于3级,05:15,04:49,19:35";        for(int i = 24;i>=0;i--){//找到最新的数据文件,从24小时到着找。            String hh = "";            if(i<10){                hh = "0"+String.valueOf(i);            }else{                hh = String.valueOf(i);            }            File file = new File(path+"forecast"+Utility.getFileDateString()+hh+".txt");            System.out.println(path+"forecast"+Utility.getFileDateString()+hh+".txt");            if(file.exists() && file.length() >0 ){                System.out.println("find file");                try{                    BufferedReader br = new BufferedReader((new FileReader(file)));                    while(!(result = br.readLine() ).equals("") ){                        if(result.indexOf(cityName) != -1){                            System.out.println(result);                            br.close() ;                            return  result;                        }                    }                }catch(Exception e){                    e.printStackTrace() ;                }            }        }        return result;    }    public String GetPreLineByCity(String cityName,String path){//获得 昨天 的5天预报行     String result = "无数据";//"54511,北京,北京,116.17,39.56,54.7,31,1,晴,32℃-18℃,风力小于3级,强,可吸入颗粒物,良,2,晴,18℃-33℃,风力小于3级,3,晴,19℃-31℃,风力小于3级,05:15,04:49,19:35";     for(int i = 24;i>=0;i--){         String hh = "";         if(i<10){             hh = "0"+String.valueOf(i);         }else{             hh = String.valueOf(i);         }         File file = new File(path+"forecast"+Utility.getPreFileDateString()+hh+".txt");         System.out.println(path+"forecast"+Utility.getPreFileDateString()+hh+".txt");         if(file.exists() && file.length() >0 ){             System.out.println("find file");             try{                 BufferedReader br = new BufferedReader((new FileReader(file)));                 while(!(result = br.readLine() ).equals("") ){                     if(result.indexOf(cityName) != -1){                         System.out.println(result);                         br.close() ;                         return  result;                     }                 }             }catch(Exception e){                 e.printStackTrace() ;             }         }     }     return result;    }    public  String Phenomena(String strData){  if (strData.equals("00"))    return "晴";  else if (strData.equals("01"))    return "多云";  else if (strData.equals("02"))    return "阴";  else if (strData.equals("03"))    return "阵雨";  else if (strData.equals("04"))    return "雷阵雨";  else if (strData.equals("05"))    return "雷阵雨并伴有冰雹";  else if (strData.equals("06"))    return "雨加雪";  else if (strData.equals("07"))    return "小雨";  else if (strData.equals("08"))    return "中雨";  else if (strData.equals("09"))    return "大雨";  else if (strData.equals("10"))    return "暴雨";  else if (strData.equals("11"))    return "大暴雨";  else if (strData.equals("12"))    return "特大暴雨";  else if (strData.equals("13"))    return "阵雪";  else if (strData.equals("14"))    return "小雪";  else if (strData.equals("15"))    return "中雪";  else if (strData.equals("16"))    return "大雪";  else if (strData.equals("17"))    return "暴雪";  else if (strData.equals("18"))    return "雾";  else if (strData.equals("19"))    return "冻雨";  else if (strData.equals("20"))    return "沙尘暴";  else if (strData.equals("21"))    return "小雨-中雨";  else if (strData.equals("22"))    return "中雨-大雨";  else if (strData.equals("23"))    return "大雨-暴雨";  else if (strData.equals("24"))    return "暴雨-大暴雨";  else if (strData.equals("25"))    return "大暴雨-特大暴雨";  else if (strData.equals("26"))    return "小雪-中雪";  else if (strData.equals("27"))    return "中雪-大雪";  else if (strData.equals("28"))    return "大雪-暴雪";  else if (strData.equals("29"))    return "浮尘";  else if (strData.equals("30"))    return "扬沙";  else if (strData.equals("31"))    return "强沙尘暴";  return "未知天气情况";}public String WindWay(String str){        if (str.equals("0"))              return "无风";        if (str.equals("1"))              return "东北风";        if (str.equals("2"))              return "东风";        if (str.equals("3"))              return "东南风";        if (str.equals("4"))              return "南风";        if (str.equals("5"))              return "西南风";        if (str.equals("6"))              return "西风";        if (str.equals("7"))              return "西北风";        if (str.equals("8"))              return "北风";        if (str.equals("9"))              return "旋转,不定";  return "未知风向";}public String WindPower(String str){  //str.TrimLeft(str);  if (str.equals("0"))    return "<3";    //return "0";  if (str.equals("1"))    return "3~4";    //return "1";  if (str.equals("2"))    return "4~5";    //return "2";  if (str.equals("3"))    return "5~6";    //return "3";  if (str.equals("4"))    return "6~7";    //return "4";  if (str.equals("5"))    return "7~8";    //return "5";  if (str.equals("6"))    return "8~9";    //return "6";  if (str.equals("7"))    return "9~10";    //return "7";  if (str.equals("8"))    return "10~11";    //return "8";  if (str.equals("9"))    return "11~12";    //return "9";  return "未知风力";}public String decodeTemp(String code){    String result ="未知温度";    code = code.substring(1,code.length() );    String t_b = code.substring(0,2);    String t_e = code.substring(2,4) ;    int t_bI = 0,t_eI = 0;    if(Integer.parseInt(t_b)>=50 ){        t_bI = 50 - Integer.parseInt(t_b);    }else{        t_bI = Integer.parseInt(t_b);    }    if(Integer.parseInt(t_e)>=50 ){        t_eI = 50 - Integer.parseInt(t_e);    }else{        t_eI = Integer.parseInt(t_e);    }    result = String.valueOf(t_bI)+"℃-"+String.valueOf(t_eI)+"℃";    return result ;}public String decodeWeather(String code){    String result = "未知天气";    code = code.substring(1,code.length() );    String w_b = code.substring(0,2);    String w_e = code.substring(2,4) ;    result = Phenomena(w_b)+"-"+Phenomena(w_e);    return result;}public String decodeWind(String code){    String result = "未知风力风向";    code = code.substring(1,code.length() );    String f_x_b = code.substring(0,1);    String f_l_b = code.substring(1,2) ;    String f_x_e = code.substring(2,3) ;    String f_l_e = code.substring(3,4) ;    result = WindWay(f_x_b)+WindPower(f_l_b)+"-"+WindWay(f_x_e)+WindPower(f_l_e);    return result;}    public static void main(String[] args) {        Weather weather1 = new Weather();        System.out.println(weather1.Get_Wind(weather1.GetPreAll("北京","D:\\WAPServer\\jsp\\db\\"),2) );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -