构建一个三角形类。要求如下:1成员变量:三条边.2成员函数:显示三条边的长度。并能够初始化该类的一个边长为3的等边三角形
//下面是我写的一段代码,能运行,但似乎和题目不符,只能直接输出边长为3的等边三角形,要怎么改才能符合题目要求呢?
import java.util.*;public class TraingleTest
{
public static void main(String[] args)
{
   Traingle e=new Traingle(3,3,3);  System.out.println("第一条边长aa为:"+e.getAa()+",第二条边长bb为:"+e.getBb()+",第三条边长cc为:"+e.getCc());
}
}class Traingle
{
public Traingle(int ia,int ib,int ic)
{
   aa=ia;
   bb=ib;
   cc=ic;
}public int getAa()
{
   return aa;
}
public int getBb()
{
   return bb;
}
public int getCc()
{
   return cc;
}
private int aa;
private int bb;
private int cc;
}

解决方案 »

  1.   

    //下面是我上课时赶着抄的一点,不过后面抄错了.按照下面这个看来应该先输出一个普通三角形然后测试一下,再才是等边三角形.我的一开始直接就是等边三角形.按照下面的应该怎么改啊.(下面的后面部分抄错了,按那个思路该怎么改啊?)public class sanjiaoxing
    {
       public sanjiaoxing(int one,int two,int three)
         {
    a=one;
    b=two;
    c=three;
         }
       public void displayinfo()
         {
    System.out.println("这个三角形的三边为: "+a+","+b+","+c);
         }
    private int a;
    private int b;
    private int c;
    }public static void main(String[] args)
    {
       sanjiaoxing equal after al=new sanjiaoxing(3,3,3);
       sanjiaoxing qita=new sanjiaoxing();
    equallater al displayinfo=qita.dispalyinfo();
    }
      

  2.   

    public class Traingle{
      private int a,b,c;
      public traingle(){
        a=3;
        b=3;
        c=3;}
      public void traingle(int a,int b,int c){
        this.a=a;
        this.b=b;
        this.c=c;}
      public void setA(int a){
        this.a=a;}
      public void setB(int b){
        this.b=b;}
      public void setC(int c){
        this.c=b;}
      public int getA(){
        return a;
      public int getB(){
        return b;
      public int getC(){
        return c;}

      

  3.   

    在上面Traingle类里加一个方法
    public void output(){
      System.out.println("a="+a+",b="+b+",c="+c);}
      

  4.   

     Traingle   e=new   Traingle(3,3,3); 
    这句已经定义死了显示的三条边是3,3,3;
    还是不知道楼主想要说的什么意思
      

  5.   

    忽然发现上面写的一堆错- -#
    重新写了一个给你:package question.xz;public class Traingle {
    private int a, b, c; public Traingle() {
    a = 3;
    b = 3;
    c = 3;
    System.out.println("初始化三角形,三边长均为3");
    } public void setABC(int a, int b, int c) {
    if (panduan(a, b, c)) {
    this.a = a;
    this.b = b;
    this.c = c;
    System.out.println("成功设置三角形三边a="+a+",b="+b+",c="+c);
    }
    } public void setA(int a) {
    if (panduan(a, b, c)){
    this.a = a;
    System.out.println("成功设置a边为"+a);
    }
    } public void setB(int b) {
    if (panduan(a, b, c)){
    this.b = b;System.out.println("成功设置b边为"+b);} } public void setC(int c) {
    if (panduan(a, b, c)){
    this.c = c;System.out.println("成功设置c边为"+c);} } public int getA() {
    return a;
    } public int getB() {
    return b;
    } public int getC() {
    return c;
    } public void outputABC() {
    System.out.println("三角形三边长分别为:a=" + a + ",b=" + b + ",c=" + c);
    } public boolean panduan(int a, int b, int c) {
    int i;
    if (a > b) {
    i = a;
    a = b;
    b = i;
    }
    if (b > c) {
    i = b;
    b = c;
    c = i;
    }
    if (c >= a + b) { System.out.println("数据不正确,"+a+","+b+","+c+"无法构成三角形,原始数据(a="+this.a+",b="+this.b+",c="+this.c+")未做修改!");
    return false;
    } else
    return true;
    }
    }
    调试类:package question.xz;public class rreeds {
    public static void main(String[] args) {
    Traingle sanjiao = new Traingle();
    sanjiao.setABC(13, 14, 15);
    sanjiao.setA(7);
    sanjiao.setB(8);
    sanjiao.setC(9);
    sanjiao.setABC(4, 5, 15);
    sanjiao.outputABC();
    }
    }
    输出结果:
    初始化三角形,三边长均为3。
    成功设置三角形三边a=13,b=14,c=15
    成功设置a边为7
    数据不正确,7,8,15无法构成三角形,原始数据(a=7,b=14,c=15)未做修改!
    成功设置c边为9
    数据不正确,4,5,15无法构成三角形,原始数据(a=7,b=14,c=9)未做修改!
    三角形三边长分别为:a=7,b=14,c=9
      

  6.   

    楼上的可以试试如果三角形三边类型是Double的应该怎么办.......我试了一下....判断直角的时候有问题...200.0 ?= 200.00000003
      

  7.   

    没问题啊,你把所有的int都改成double就可以的
      

  8.   

    用BigDecimal的话就要改不少东西。。麻烦。。