【发布时间】:2015-03-24 22:48:04
【问题描述】:
public void actionPerformed(ActionEvent ae) {
float x, y;
if(ae.getSource()==z) {
x= Float.parseFloat(a.getText());
y= x*x*3.14;
Boomer.setText(String.valueOf(y));
}
}
我正在制作一个乘法 GUI。我之前做过几个,但这个略有不同。这个不同是因为我特别允许用户通过输入半径来找到圆的面积。
我只是像任何其他基本数学函数相关程序一样编写此代码,但我为圆的面积指定了方程。这就是问题所在。当我指定必须使用小数来查找输出时,程序无法运行。例如,如果我告诉它执行 x*x*10,它就可以正常工作。我只能假设问题源于小数。
【问题讨论】:
-
那么当你不使用
x*x*10,而使用x*x*3.14这样的小数时会发生什么?您收到错误消息还是获得值? -
这是我得到的错误消息:BaffleGUI.java:39: 错误:不兼容的类型:从双精度到浮点的可能有损转换
-
好的,所以我认为你可以做 zachjack 的回答,或者像这样简单地将 3.14 转换为浮点数:
y=x*x*(float)3.14;并且错误应该消失(如果你不关心“有损转换” ")。 -
您的建议和他的建议都很好。谢谢!
标签: java user-interface decimal actionevent