スタック・オーバーフロー Asked by tata on December 23, 2021
下のようなプログラムを作りたいのですがうまくいきません。どうしてもわからないのでどなたか解答を教えてくれませんか。
よろしくお願いしますm(__)m
/*
* Ex07
* 球体を表すクラス Ball を作成せよ。
* 具体的には、以下のコンストラクタとメソッドを作成せよ。
* Ball(int radius) ------------ 半径radiusの球体を生成する
* Ball(Ball ball) ------------- 球体ballのクローンを生成する
* int getRadius() ------------- 半径を取得する
* void setRadius(int radius) -- 半径を設定する
* double computeVolume() ------ 体積を計算する
* boolean equalTo(Ball ball) -- 球体ballと同じ大きさか判定する
* String toString() ----------- 文字列表現「Ball(radius)」を得る
*
* ただし、フィールドとして int radius を使用すること。
*/
import java.util.Scanner;
class Ball {
// フィールド(変更禁止)
private int radius; // 半径
// コンストラクタ(変更禁止)
public Ball() {
}
// コンストラクタ(要作成)
public Ball(int radius) {
}
// コンストラクタ(要作成)
public Ball(Ball ball) {
}
// 半径を取得するメソッド(要作成)
public int getRadius() {
return -1; // 不要ならば削除すること
}
// 半径を設定するメソッド(要作成)
public void setRadius(int radius) {
double r; // 半径
Scanner scanner = new Scanner(System.in);
System.out.print( "半径:" );
r = scanner.nextDouble();
}
// 体積を計算するメソッド(要作成)
public double computeVolume() {
return(4.0 / 3.0 * 3.14 * radius * radius * radius);
}
// 球体ballと同じ大きさか判定する(要作成)
public boolean equalTo(Ball ball) {
return false; // 不要ならば削除すること
}
// 文字列表現を得る(要作成)
public String toString() {
return ""; // 不要ならば削除すること
}
}
クラスのフィールドとメソッドの使い方が分かればその応用で解決できます。
ball.getRadius();
で取得したradiusを上のコンストラクタと同様にsetRadiusで書き換えます。return
の使い方が載っていたと思いますので、それを参考にしてみましょう。this
キーワードをうまく使いましょう。public String toString() {
return String.format("ボールの半径は%d, 体積は%fです。", radius, computeVolume());
}
Answered by payaneco on December 23, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP