日期:2014-05-20  浏览次数:20649 次

如何取出这个数组里面的值
这是一个温湿度的值是一串,第一行是附加信息,从第二行开始,4个一组,前两个表示湿度,后两个表示温度。最后一行不用管。
我现在就想取出湿度的一系列值和温度的一系列值。
注:这些都是16进制的。
举例:01 FD 00 E4,这个里面,01 FD表示的是湿度,00E4表示的是温度。

27 2F 01 03 40 
01 FD 00 E4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  
00 00 00 00 00 00 00 00 01 EE 00 F1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  
00 00 00 00 00 00 00 00  
DF 9F  

能用java语句给分别出来。

------解决方案--------------------
Java code

public class Test {

    /**
     * @param args
     */

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "01 FD 00 E4 02 03 04 05 0a 0b 0c 0d 00 00 00 00 00 00 00 00 00 00 00 00 0a 0h 0g 0j";
        String[] array = str.split(" ");
        for(int i=0; i< array.length;){
            if((i+1)%2 == 1){
                System.out.println("湿度:"+array[i]+" "+array[i+1]+",");
                System.out.println("温度:"+array[i+2]+" "+array[i+3]+",");
            }
            i+=4;
        }
    }
}

------解决方案--------------------
湿度:01 FD,
温度:00 E4,
湿度:02 03,
温度:04 05,
湿度:0a 0b,
温度:0c 0d,
湿度:00 00,
温度:00 00,
湿度:00 00,
温度:00 00,
湿度:00 00,
温度:00 00,
湿度:0a 0h,
温度:0g 0j,
------解决方案--------------------
Integer.parseInt("00E4", 16);
转成10进制的。