在JOptionOutput结束时获得“1”

时间:2010-07-08 03:55:47

标签: java

简单的程序,只需找到圆的圆周,直径和面积。每当我运行程序时它就没问题了,就在最后,在Area的值之后总是有1或-1。例如,当使用半径为10时,我得到:

  

结果
  圆的周长为:62.832厘米
  圆的直径为:20.0厘米
  圆的面积是:314.159厘米1

代码如下:

import javax.swing.JOptionPane;
import java.text.DecimalFormat;

public class Circle {

    public static void main(String[] args)
    {
    //Declarations
    double radius;
    String getRadius;

    //Formatting
    DecimalFormat formatter = new
    DecimalFormat(".000");

    //Calculations
    getRadius = JOptionPane.showInputDialog("Enter Circle Radius In Centimeters:");
    radius = Double.parseDouble(getRadius);

    //Output
    JOptionPane.showMessageDialog(null, "Results" + 
            "\n The circumference of the circle is: " + formatter.format(2*Math.PI*radius) + " Centimeters" +
            "\n The diameter of the circle is: " + 2*radius + " Centimeters" +
            "\n The area of the circle is: " + formatter.format(Math.PI*Math.pow(radius,2)) + " Centimeters" +
            JOptionPane.INFORMATION_MESSAGE);
    }
}

1 个答案:

答案 0 :(得分:1)

您将JOptionPane.INFORMATION_MESSAGE(恰好等于1)追加到您的字符串中。它应该是这样的:

JOptionPane.showMessageDialog(null, 
        "Results" + 
        "\n The circumference of the circle is: " + formatter.format(2*Math.PI*radius) + " Centimeters" +
        "\n The diameter of the circle is: " + 2*radius + " Centimeters" +
        "\n The area of the circle is: " + formatter.format(Math.PI*Math.pow(radius,2)) + " Centimeters", 
        "Results", 
        JOptionPane.INFORMATION_MESSAGE);

这四个参数是parent,message,title,messageType。之前,您不小心使用了双参数版本(父级,消息)并将messageType附加到您的消息中。