-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对象后调用。

如果您有任何疑问或问题,请告诉我。


关于您的其他错误,它们是因为您没有存储mWindowand的值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’.
    }   

并添加 oBoxmWindow使用您的私有变量。

请注意,如果不使用上面的构造函数,您将收到运行时错误。


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 回答