System.out.println("Enter a number: ");
String in1 = input.nextLine();
Integer input1 = Integer.valueOf(in1);
Float input2 = Float.parseFloat(in1);
Double input3 = Double.valueOf(in1).doubleValue();
System.out.println();
System.out.println("Enter another number: ");
String in2 = input.nextLine();
Integer input21 = Integer.valueOf(in2);
Float input22 = Float.parseFloat(in2);
Double input23 = Double.valueOf(in2).doubleValue();
FloatN fco = new FloatN();
System.out.println();
System.out.println("The sum of both of your numbers is: " + fco.add(input2, input22));
done = true;
我很清楚这个程序是完全不切实际的,我写它只是为了练习解析、泛型和接口。我尝试了 Integer,效果很好,但是在尝试 Float 和 Double.add() 函数时,我得到 3 个错误:
在 java.lang.NumberFormatException.forInputString
在 java.lang.Integer.parseInt
在 java.lang.Integer.valueOf
我删除了整数解析器,程序运行良好。我很困惑为什么我只有在输入 Decimal 值时才会收到错误,并且希望有人帮助指出究竟是什么导致了异常,这样我就可以在将来避免这样的任何错误,因为删除 Integer 解析器会删除IntegerN 类的任何功能。
此外,如果有人出于某种原因需要 FloatN 类:
public static class FloatN implements Summization<Float>{
public FloatN(){}
public Float add(Float a, Float b)
{
return a + b;
}
}
求和是一个带有 add() 方法的通用接口。
提前致谢。