-1
import javabook.*;


class Triangle
{
    // DATA
    //............................................................

    //Private Variables
        private double theBase;
        private double theHeight;
        private double theArea;                                     //base and height = Area is enough calculation

    // CONSTRUCTORS
    //............................................................  // same name as the class and the file name
    public Triangle()                                               
    {
        this.theBase=0;
        this.theHeight=0;
        this.theArea=0;
    }

    public Triangle( OutputBox oBox, MainWindow mWindow )           
    {
        this.theBase=0;
        this.theHeight=0;                                           this.theArea=0;                                             //This is a proof that the area of any triangle is 1/2 b x h’ of a base and height and the ‘area of a triangle is half of the base times the height’.
    }                                           


    public void calculateArea ()        
    {                                                                                              
        InputBox iBox = new InputBox(mWindow);
        this.theBase = iBox.getDouble("Please enter the length of the base of the triangle ");
        this.theHeight = iBox.getDouble("Please enter the height of the triangle");
        computeArea();
        oBox.println(" The area of a triangle of base : " + this.theBase+ " and height : " + this.theHeight +" is equal to : "+ this.theArea );
    }

    // METHODS - behaviours
    //............................................................
    public void computeArea()
    {
        this.theArea = (this.theBase / 2 ) * this.theHeight;        
                                                            }                                                               

    // METHODS - gets (accessors)  and sets (mutators)
    //............................................................

    //length
    public void setThebase(double base)
    {
           this.theBase= base;
    }

    public double getTheBase()
    {
           return(this.theBase);
    }

    //breath
    public void setTheHeight(double height)
    {
           this.theHeight= height;
    }

    public double getTheHeight()
    {
           return(this.theHeight);
    }

    //area
    public double getTheArea()
    {
           return(this.theArea);
    }
}

this.theBase = iBox.getDouble("三角形の底辺の長さを入力してください"); 私が省略したことを指摘してくれる人はいますか?私はJavaを学んでおり、間違いを犯す運命にあるので、優しくしてください。

これは、偽の { 文字を修正した後の改訂されたエラー メッセージです。

]./Triangle.java:42: cannot find symbol
symbol  : variable mWindow
location: class Triangle
        InputBox iBox = new InputBox(mWindow);
                                     ^
./Triangle.java:46: cannot find symbol
symbol  : variable oBox
location: class Triangle
        oBox.println(" The area of a triangle of base : " + this.theBase+ " and height : " + this.theHeight +" is equal to : "+ this.theArea );

更新された 4 つのエラー:

./Triangle.java:36: cannot find symbol
symbol  : variable oBox
location: class Triangle
        this.oBox = oBox;
            ^
./Triangle.java:37: cannot find symbol
symbol  : variable mWindow
location: class Triangle
        this.mWindow = mWindow;                                     //This is a proof that the area of any triangle is 1/2 b x h’ of a base and height and the ‘area of a triangle is half of the base times the height’.
            ^
./Triangle.java:47: cannot find symbol
symbol  : variable mwindow
location: class Triangle
        InputBox iBox = new InputBox(mwindow);
                                     ^
./Triangle.java:51: cannot find symbol
symbol  : variable oBox
location: class Triangle
        oBox.println(" The area of a triangle of base : " + this.theBase+ " and height : " + this.theHeight +" is equal to : "+ this.theArea );
        ^
Note: App.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
4 errors
            ^
4

1 に答える 1

3

最初の後のすべてのコード}はメソッドに属していないため、作成する必要があります。このようなもの:

  public Triangle( OutputBox oBox, MainWindow mWindow ) {
    this.theBase=0;
    this.theHeight=0
    this.theArea=0;                                         
  }
  public void calculateArea() {                                           
    InputBox iBox = new InputBox(mWindow);
    this.theBase = iBox.getDouble("Please enter the length of the base of the triangle ");
    this.theHeight = iBox.getDouble("Please enter the height of the triangle");
    computeArea();
    oBox.println(" The area of a triangle of base : " + this.theBase+ " and height : " + this.theHeight +" is equal to : "+ this.theArea  );
  }
}

calculateArea()その後、オブジェクトを作成した後に呼び出すことができTriangleます。

ご質問や問題がありましたらお知らせください。


他のエラーに関しては、mWindowとの値を保存していないためですoBox。変化する:

  public Triangle( OutputBox oBox, MainWindow mWindow )           
    {
        this.theBase=0;
        this.theHeight=0;
        this.theArea=0;
        //This is a proof that the area of any triangle is 1/2 b x h’ of a base and height and the ‘area of a triangle is half of the base times the height’.
    }   

  public Triangle( OutputBox oBox, MainWindow mWindow )           
    {
        this.theBase=0;
        this.theHeight=0;
        this.theArea=0;
        this.oBox = oBox;
        this.mWindow = mWindow;
        //This is a proof that the area of any triangle is 1/2 b x h’ of a base and height and the ‘area of a triangle is half of the base times the height’.
    }   

プライベート変数を追加 oBoxして追加します。mWindow

上記のコンストラクターを使用しないと、実行時エラーが発生することに注意してください。


import javabook.*;


class Triangle
{
    // DATA
    //............................................................

    //Private Variables
        private double theBase;
        private double theHeight;
        private double theArea;                                     //base and height = Area is enough calculation
        private OutputBox oBox;
        private MainWindow mWindow;

    // CONSTRUCTORS
    //............................................................  // same name as the class and the file name

    public Triangle( OutputBox oBox, MainWindow mWindow )           
    {
        this.theBase=0;
        this.theHeight=0;
        this.theArea=0;                                             //This is a proof that the area of any triangle is 1/2 b x h’ of a base and height and the ‘area of a triangle is half of the base times the height’.
        this.oBox = oBox;
        this.mWindow = mWindow;
    }                                           


    public void calculateArea ()        
    {                                                                                              
        InputBox iBox = new InputBox(this.mWindow);
        this.theBase = iBox.getDouble("Please enter the length of the base of the triangle ");
        this.theHeight = iBox.getDouble("Please enter the height of the triangle");
        computeArea();
        this.oBox.println(" The area of a triangle of base : " + this.theBase+ " and height : " + this.theHeight +" is equal to : "+ this.theArea );
    }

    // METHODS - behaviours
    //............................................................
    public void computeArea()
    {
        this.theArea = (this.theBase / 2 ) * this.theHeight;        
                                                            }                                                               

    // METHODS - gets (accessors)  and sets (mutators)
    //............................................................

    //length
    public void setThebase(double base)
    {
           this.theBase = base;
    }

    public double getTheBase()
    {
           return(this.theBase);
    }

    //breath
    public void setTheHeight(double height)
    {
           this.theHeight= height;
    }

    public double getTheHeight()
    {
           return(this.theHeight);
    }

    //area
    public double getTheArea()
    {
           return(this.theArea);
    }
}
于 2013-05-28T14:52:41.657 に答える