程序是在jdk1.6环境中编写的,因为jdk1.3中没有split()方法,没有Vector<Double>这种泛型的定义,而EAI方法使用的JDK限制在1.4版本以下,所以想要把jdk换成1.3的,但是对于1.3中相当于split()方法的函数以及泛型的一些东西不是很了解,现把一部分程序贴至如下:
Vector<Double> XAxis1=new Vector<Double>();
Vector<Double> YAxis1=new Vector<Double>();
Vector<Double> ZAxis1=new Vector<Double>();
Vector<Double> XAxis=new Vector<Double>();
Vector<Double> YAxis=new Vector<Double>();
Vector<Double> ZAxis=new Vector<Double>();
//变量定义
try{
BufferedReader reader=new BufferedReader(new FileReader(path));
String content=null;
while((content=reader.readLine())!=null){
textarea1.append(content+"\n");
String[] st =content.split(",");
XAxis1.addElement(Double.valueOf(st[0]).doubleValue());
YAxis1.addElement(Double.valueOf(st[1]).doubleValue());
ZAxis1.addElement(Double.valueOf(st[2]).doubleValue());
}
reader.close();
}catch(IOException ie){
textarea1.append("read from file:"+ie.getMessage());
}
catch(SecurityException se){
textarea1.append("Security constraint,Can't read from the file!\n");
}
}
。。。。。。。。。
for(int i=0;i<=w-1;i++){
XAxis.addElement((XAxis1.elementAt(i)+XAxis1.elementAt(i+w))/2);
YAxis.addElement((YAxis1.elementAt(i)+YAxis1.elementAt(i+w))/2);
ZAxis.addElement(((ZAxis1.elementAt(i)+ZAxis1.elementAt(i+w))/2-(ZAxis1.elementAt(0)+ZAxis1.elementAt(0+w))/2)*1000);
}
JDK1.3中Vector变量不能向上面一样定义,而且(XAxis1.elementAt(i)+XAxis1.elementAt(i+w))/2不能这样写,说是object对象类型不能直接关系运算,要转类型,这个不会,麻烦哪位高人帮忙把上面程序用在1.3环境下改下!
------解决方案--------------------------------------------------------
JDK 1.3 中除了没有泛型、正则表达式之外,还没有 JDK 5 中的自动装箱和拆箱功能
XAxis1.addElement(Double.valueOf(st[0]).doubleValue());
- Java code
XAxis1.addElement(Double.valueOf(st[0]));
XAxis.addElement((XAxis1.elementAt(i)+XAxis1.elementAt(i+w))/2);
- Java code
XAxis.addElement(toWrapDouble(getDouble(XAxis1, 1) + getDouble(XAxis1, i+w) / 2));private static double getDouble(Vector vector, int index) { return toDouble(vector.elementAt(index));}private static Double toWrapDouble(double num) { return Double.valueOf(num);}private static double toDouble(Object obj) { if(obj == null) { throw new NullPointerException("obj is null!"); } if(!(obj instanceof Double)) { throws new ClassCastException("obj must be Double!"); } return ((Double)obj).doubleValue();}