2010-07-08 29 views
0

简单的程序可以找到圆的周长,直径和面积。每当我运行该程序时都没问题,只是最后在Area的值后总会有1或-1。例如,使用10的半径,当我得到:在JOptionOutput的末尾获取“1”

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

守则如下所示:

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

要追加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); 

这四个参数是父,消息,标题,messageType。之前,您意外地使用了双参数版本(parent,message)并将messageType附加到消息中。

+0

就是这样。我花了一秒钟的时间才弄清楚你的四个参数是什么意思,但后来我意识到这个逗号的作用。你几乎让我看到这完全不同,所以谢谢。 – Nidhoggur 2010-07-08 04:23:25