qq_37914097
一行代码写十年
采纳率50%
2020-12-04 10:41

Java使用私有变量求三角形面积

题目描述:编写两个类TriAngle.java和TestTriAngle.java来计算三角形面积。TriAngle中声明私有变量base和height,同时声明公共方法访问私有变量;另一个类中使用方法计算三角形面积。

为什么写好的程序没有错 但最后计算得出的结果是0.0啊?!求好心人解答wwww

 

附上代码:

public class TestTriAngle {
    public static void main(String[] args) {
        TriAngle tr = new TriAngle();
        tr.setBase(3.0);
        tr.setHeight(4.0);
        tr.calArea();
        
    }

}



package Day06;

public class TriAngle {
    
    private double base;
    private double height;
   
    
    
    public double getBase() {
        return base;
    }
    
    public double getHeight() {
        return height;
    }
    
    public void setBase(double b) {
        if (b > 0) {
            base = b;
        }else {
            System.out.println("Invalid Input!");
        }
    }
    
    public void setHeight(double h) {
        if (h > 0) {
            height = h;
        }else {
            System.out.println("Invalid Input!");
        }
    }
    
    public void calArea() {
        double area;
        area = 1/2 * base * height;
        System.out.println(area);
    }

}


 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_25376897 qq_25376897 5月前
    public void calArea() {
            double area;
            area = 1.0/2 * base * height;  //1/2返回的是整数,返回了0,所以area始终等于0,要改成浮点型
            System.out.println(area);
        }
    点赞 评论 复制链接分享
  • qq_42825101 TheWaSaiBoy 5月前

    你没有赋值给this.area哦,而是给的你方法里面创建的area就近原则。你也可以直接返回这个值。

    点赞 评论 复制链接分享

相关推荐