クラスを作成し、メインメソッドを実行し表示を確認する
練習問題10の1
車に関するクラス「Car」を次のメンバーで作成し、以下のメインメソッドを実行して、実行画面のようになることを確認する。
private double fuelRest, fuelRatio ,fuelMax
....ガソリンの残量(リットル)と燃費(キロメートル/リットル)、最大数のフィールド変数
public Car(double fRest, double fRatio, double fMax)
....コンストラクタ
public void displayFuel()
....ガソリン残量を表示
public void addFuel(double fuel)
....ガソリンを給油するメソッド。fuelは給油量(リットル)
public void run(double distance)
....車を走行させるメソッド。distanceは走行距離(キロメートル)
メインメソッド
public class ren10_1
{
public static void main(String[] args)
{
Car car = new Car(30.0, 10.5, 40.0);
car.displayFuel();
System.out.println("210キロ走行します。");
car.run(210);
car.displayFuel();
System.out.println("10リットル給油します。");
car.addFuel(10);
car.displayFuel();
//新しいCarクラスのインスタンスを作成
Car car1 = new Car(10.5, 40.0);
car1.displayFuel();
System.out.println("ガソリンを満タンにします。");
car1.addFuel();
car1.displayFuel();
}
}
実行画面
210キロ走行します
現在の燃料は10.0リットルです。
10リットル給油します。
現在の燃料は20.0リットルです。
解答例
{
private double fuelRest;
private double fuelRatio;
private double fuelMax;
public Car(double fRest, double fRatio, double fMax)
{
fuelRest = fRest;
fuelRatio = fRatio;
fuelMax = fMax;
if(fuelMax < 0){
fuelMax = 0;
}
if(fuelRest > fuelMax){
fuelRest = fuelMax;
}
if(fuelRatio < 0){
fuelRatio = 0;
}
}
public Car(double fRatio, double fMax)
{
fuelRest = 0.0;
fuelRatio = fRatio;
fuelMax = fMax;
if(fuelMax < 0){
fuelMax = 0;
}
if(fuelRatio < 0){
fuelRatio = 0;
}
}
public void displayFuel()
{
System.out.println("現在の燃料は " + fuelRest + " リットルです");
}
public void addFuel(double fuel)
{
fuelRest += fuel;
if(fuelRest > fuelMax){
fuelRest = fuelMax;
}
}
public void run(double distance)
{
fuelRest = fuelRest - distance / fuelRatio;
if(fuelRest < 0){
fuelRest = 0;
}
}
public void addFuel()
{
fuelRest = fuelMax;
}
}
public class ren10_1
{
public static void main(String[] args)
{
Car car = new Car(30.0, 10.5, 40.0);//インスタンス生成時に1回だけ呼ばれる。
car.displayFuel();
System.out.println("210キロ走行します。");
car.run(210);
car.displayFuel();
System.out.println("10リットル給油します。");
car.addFuel(10);
car.displayFuel();
//新しいCarクラスのインスタンスを作成
Car car1 = new Car(10.5, 40.0);
car1.displayFuel();
System.out.println("ガソリンを満タンにします。");
car1.addFuel();
car1.displayFuel();
}
}
クラスを作成し、メインメソッドを実行し表示を確認する関連ページ
- 連続して表示するメソッドを作る for文使用
- メソッドを使用して、横幅高さの長方形を表示する
- 2つの整数の差を計算して表示する メソッド
- 3つの整数の最小値を返す メソッド
- 整数nの階乗を計算して表示する メソッド
- 整数の2乗を表示する メソッド
- 2乗と4乗を表示するメソッド
- 4つの整数の中で最小値を表示するメソッド
- 配列を宣言し、整数逆順に表示する メソッド
- クラスを作成し、インスタンスに記憶し表示する
- クラスにメソッドを使用する
- クラスを作成し、インスタンスに記憶しメソッドを介して表示する
- コンストラクタやメソッドで時計表示
- コンストラクタやメソッドで時計表示し何秒か時間を進めたり戻す
- メンバ変数、コンストラクタ、メンバメソッドを使用し枚数表示する
- メンバ変数、コンストラクタ、メンバメソッドを使用し水量表示する
- メンバ変数、コンストラクタ、メンバメソッドを使用し位置表示する
- メンバ変数、コンストラクタ、メンバメソッドを使用し財布の中身残量表示する
- インスタンス配列を使用して、集計表示を行う コンストラクタ
- フィールド変数がprivateで直接参照できないときに返すメソッド
- インスタンスを2個生成し操作する
- privateを使用して、操作する
- インスタンスを複数生成し、操作する