【发布时间】:2015-05-19 06:08:40
【问题描述】:
我正在为 java 中的区域转换程序创建一个 Udf 函数。我有以下数据:
230Sq.feet
110Sq.yards
8Acres
123Sq.Ft
我想这样拆分上面的数据:
230 Sq.feet
990 Sq.feet
344 Sq.feet
123 Sq.feet
我尝试了以下代码:
public class Areaconversion2 extends EvalFunc<String> {
public String determine_Area (String input) throws IOException
{
String[] AreaArr = input.split("");
Double Area;
if(AreaArr[1].equalsIgnoreCase("Sq.Yards") || AreaArr[1].equalsIgnoreCase("Sq.Yds"))
{
Area = Double.parseDouble(AreaArr[0]);
Area = Area * 9;
String Ar = Area.toString() + " Sq.Feet";
return Ar;
}
else if(AreaArr[1].equalsIgnoreCase("Acre") || AreaArr[1].equalsIgnoreCase("Acres"))
{
Area = Double.parseDouble(AreaArr[0]);
Area = Area * 43560;
String Ar = Area.toString() + " Sq.Feet";
return Ar;
}
else if(AreaArr[1].equalsIgnoreCase("Sq.Feet)")||AreaArr[1].equalsIgnoreCase("Sq.Ft"));
{
Area = Double.parseDouble(AreaArr[0]);
String Ar = Area.toString() + " Sq.Feet";
return Ar;
}
}
public String exec(Tuple input) throws IOException {
// TODO Auto-generated method stub
if (input == null || input.size() == 0)
return null;
try
{
String str = (String)input.get(0);
return determine_Area(str);
}catch(Exception e){
throw new IOException("Caught exception processing input row ", e);
}
}
}
我只在处理时遇到了异常。任何帮助将不胜感激。
【问题讨论】:
-
请跟踪异常?
-
那 8Acres 呢??
-
String[] AreaArr = input.split("");它永远不会拆分你的字符串。