此代码在插入radius的值后给出了错误。
"线程中的异常" main" java.util.IllegalFormatConversionException:d!= java.lang.Double"
import javax.swing.*;
public class TestCircle {
public static void main(String[]args)
{
String rad1 = JOptionPane.showInputDialog("Please enter circle 1 radius: \n");
Circle circle1 = new Circle();
circle1.setRadius(Integer.parseInt(rad1));
String rad2 = JOptionPane.showInputDialog("Please enter circle 2 radius: \n");
Circle circle2 = new Circle(Integer.parseInt(rad2));
JOptionPane.showMessageDialog(null,circle1.toString());
}
public String toString()
{ return String.format("Radius:%d\nDiameter:%d\nCircumference:%.2f\nArea%.2f\n",getRadius(),circumference(),area());
}
答案 0 :(得分:0)
您的方法circumference()
或area()
不会返回双精度值。
答案 1 :(得分:0)
我的toString方法缺少直径()...一旦包括它完美地工作。
public String toString()
{
return String.format("Radius:%d\nDiameter:%d\nCircumference:%.2f\nArea%.2f\n", getRadius(),diameter(), circumference(), area());
}