1. ホーム
  2. java

[解決済み] JavaクラスRectangleとデモクラスによるテスト

2022-02-12 10:40:06

質問

というJavaクラスを作成しました。 Rectangle 2つのインスタンス変数(width & height) と 2つのインスタンスメソッド (area と circumference) があります。 は2倍値を返します。area メソッドは矩形の面積 (幅 * 高さ) を返す。 円周は(2*width+2*height)を返す。次に、mainメソッドを持つDemoクラスを作成し 4つのオブジェクトをインスタンス化し、幅と高さを入力するようユーザーに要求します。 のインスタンスを作成します。そして、各インスタンスの面積と円周をプリントアウトする。

私は2つのクラスを作成し、最初のクラスはRectangleです。

public class Rectagle {

    private double width;
    private double height;

    public double area() {
        return width * height;
    }

    public double circumference() {
        return 2*width+2*height;
    }
}

そして、このクラスをテストするために、2番目のクラスDemoを作成します。

import java.util.Scanner;
public class Demo {
    public static void main(String []args){
        Scanner console=new Scanner(System.in);
    Rectagle R1=new Rectagle();
    Rectagle R2=new Rectagle();
    Rectagle R3=new Rectagle();
    Rectagle R4=new Rectagle();

    }
}

というメッセージが表示され、幅と高さを入力するよう促されます。 のインスタンスを作成します。そして、各インスタンスの面積と円周をプリントアウトします。

どのように解決するのですか?

ご参考までに

public class Rectangle {

    private double width;
    private double height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double getArea() {
        return width * height;
    }

    public double getCircumference() {
        return 2*width+2*height;
    }

    @Override
    public String toString() {
        return "Rectangle["+width+","+height+"]Area:"+getArea()+",Circumference:"+getCircumference();
    }

    public static void main(String[] args) {
         Scanner console=new Scanner(System.in);
        double width = getValue(console, "Width");
        double height = getValue(console, "Height");
        Rectangle rectangle = new Rectangle(width, height);
        System.out.println(rectangle);

    }

    public static double getValue(Scanner console, String name) {
        System.out.println("Enter "+name + " : ");
        String widthStr = console.nextLine();
        double parseDouble;
        try {
            parseDouble = Double.parseDouble(widthStr);
        }catch(NumberFormatException ne) {
            System.out.println("Unable to parse your input, enter correct value ");
            return getValue(console, name);
        }
        return parseDouble;
    }
}