1

オブジェクト内からコンソールにデータを出力しようとしています。動作しているようですが、データの下に奇妙なメッセージが表示されます。

以下はコードです:

import java.text.DecimalFormat;

/**
 * The Circle class calculates area, diameter, and circumference 
 */

public class Circle {

    DecimalFormat fmt = new DecimalFormat("#0.00");

    // Fields
    private double radius;                  // Holds the circle radius
    private final double PI = 3.14159;      // The formula for PI


    /**
     *      Start Constructors
     */


    public Circle(double rad) {

        radius = rad;
        System.out.println("The circle's radius is " + (fmt.format(radius)));
        System.out.println("The circle's area is " + (fmt.format(PI * radius * radius)));
        System.out.println("The circle's diameter is " + (fmt.format(radius * 2)));
        System.out.println("The circle's circumference is " + (fmt.format(2 * PI * radius)));
    }


}

コンソール出力は次のとおりです。

The circle's radius is 2.00
The circle's area is 12.57
The circle's diameter is 4.00
The circle's circumference is 12.57
Circle@5115a298

サークルメッセージとは?

4

2 に答える 2

1

出力としてCircleオブジェクトのみを持つSystem.outを別の場所に配置する必要があります。次に、Hovercraft FullOfEelsの答えが適用されます。

ところで:Math.PIはすでにあなたに円周率を与えます!

于 2013-03-11T02:53:55.703 に答える
1

Circle クラスに適切なtoString()メソッド オーバーライドを与えます。このメソッドの Object のデフォルト バージョンからの戻り値が表示されています。

@Override
public String toString() {
   /*  return a String that shows the "state" of this object */
}
于 2013-03-11T02:50:15.443 に答える