| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 503 人关注过本帖
标题:有关图形求三角形的,下面是我写的,但是不知道怎么把三个数据是否符合三角 ...
只看楼主 加入收藏
暗静暗静呢
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2015-6-26
结帖率:50%
收藏
 问题点数:0 回复次数:3 
有关图形求三角形的,下面是我写的,但是不知道怎么把三个数据是否符合三角形的if判断插进去;另外,能不能最后测试类用一个数组,调用各个图形的计算周长方法。
//定义抽象类PlaneGraphic
abstract class PlaneGraphic{
    //定义抽象方法 perimeter()
    abstract void perimeter();
}
//定义Triangle类继承抽象类PlaneGraphic
class Triangle extends PlaneGraphic{
    double a;
    double b;
    double c;
     public Triangle( double a,double b,double c){
         this.a=a;
         this.b=b;
         this.c=c;
     }
  显示错误   if(a+b>c|a+c>b|b+c>a){
                   void perimeter(){
                       System.out.println("三角形的周长是:"+(a+b+c));
           }
                   else{
                       System.out.println("不能够构成三角形");
                   }

     }
}
class Circle extends PlaneGraphic{
    double r;
    public Circle(double r){
        this.r=r;
    }
    void perimeter(){
        System.out.println("圆形的周长是:"+(2*Math.PI*r));
    }
}
class Rectangle extends PlaneGraphic{
    double l;
    double w;
    public Rectangle(double l,double w){
        this.l=l;
        this.w=w;
    }
    void  perimeter(){
        System.out.println("长方形的周长是:"+(2*l*w));
    }
}

public class abcd {
    public static void main(String[] args){
        Triangle t=new Triangle(4,5,6);
        t.perimeter();
        Circle c=new Circle(8);
        c.perimeter();
        Rectangle r=new Rectangle(8,9);
        r.perimeter();
    }
}

搜索更多相关主题的帖子: 三角形 double public abstract 
2015-10-10 00:07
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:0 
程序代码:
仅供参考:

abstract class PlaneGraphic {
    // 定义抽象方法 perimeter()
    abstract void perimeter();
}

// 定义Triangle类继承抽象类PlaneGraphic
class Triangle extends PlaneGraphic {
    double a;
    double b;
    double c;

    public Triangle(double a, double b, double c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    void perimeter() {
        if (a + b > c || a + c > b || b + c > a) {
            System.out.println("三角形的周长是:" + (a + b + c));
        } else {
            System.out.println("不能够构成三角形");
        }
    }
}

class Circle extends PlaneGraphic {
    double r;

    public Circle(double r) {
        this.r = r;
    }

    public void setR(double r) {
        this.r = r;
    }

    void perimeter() {
        System.out.println("圆形的周长是:" + (2 * Math.PI * r));
    }
}

class Rectangle extends PlaneGraphic {
    double l;
    double w;

    public Rectangle(double l, double w) {
        this.l = l;
        this.w = w;
    }

    void perimeter() {
        System.out.println("长方形的周长是:" + (2 * (l + w)));
    }
}

public class abcd{
    public static void main(String[] args) {
        Triangle t = new Triangle(4, 5, 6);
        t.perimeter();
        Rectangle r = new Rectangle(8, 9);
        r.perimeter();
        double[] rs = { 1, 2, 3, 4, 5 };
        Circle c = new Circle(0);
        for (double d : rs) {
            c.setR(d);//增加一个set方法,不用每次都创建新的对象
            c.perimeter();
        }
    }
}
2015-10-10 09:18
暗静暗静呢
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2015-6-26
收藏
得分:0 
回复 2楼 calix
不可以啊,把那三角形三个数据一改,例如1,2,5这构不成三角形,结果还是输出周长为8了
2015-10-10 16:40
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:0 
不好意思,没仔细看
if (a + b > c || a + c > b || b + c > a)
改成
if (a + b > c && a + c > b && b + c > a)
试试看
2015-10-10 17:42
快速回复:有关图形求三角形的,下面是我写的,但是不知道怎么把三个数据是否符合 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035336 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved