当前位置: 代码迷 >> J2SE >> 本人初学者求高手解释啊这程序哪里出错了?小弟我很费解啊
  详细解决方案

本人初学者求高手解释啊这程序哪里出错了?小弟我很费解啊

热度:112   发布时间:2016-04-24 02:15:11.0
本人菜鸟求高手解释啊?这程序哪里出错了??我很费解啊!!
package javabasic;



interface EqualDiagonal{
public void getDiagonal();

}


class Rectangle implements EqualDiagonal{
  int a;
int b;
public Rectangle(int a,int b){
this.a=a;
this.b=b;
  }
public Rectangle(int a){
this.a=a;
this.b=a;
}
public int getchang(){
  return a;
  }
  public int getkuan(){
  return b ;
  }
public int getzhouchang(){
  return (a+b)*2 ;
  }

public int getmianji(){
  return a*b ; 
  }
public void getDiagonal(){
double s=Math.sqrt((double)(a*a+b*b));
System.out.println(s);
}

}



class Square extends Rectangle implements EqualDiagonal {
public Square(int a){
super(a);
}  
public void getDiagonal(){
double s=Math.sqrt((double)(a*a+b*b));
System.out.println(s);
}
}



public class Text{
public static void main(String[] args){
Rectangle m=new Rectangle(3,4);
Square n= new Square(5);
  m.getDiagonal();
n.getDiagonal();


}
}


------解决方案--------------------
Java code
interface EqualDiagonal { 
public void getDiagonal();

}

class Rectangle implements EqualDiagonal {
int a;
int b;

public Rectangle(int a, int b) {
this.a = a;
this.b = b;
}

public Rectangle(int a) {
this.a = a;
this.b = a;
}

public int getchang() {
return a;
}

public int getkuan() {
return b;
}

public int getzhouchang() {
return (a + b) * 2;
}

public int getmianji() {
return a * b;
}

public void getDiagonal() {
double s = Math.sqrt((double) (a * a + b * b));
System.out.println(s);
}

}

class Square extends Rectangle implements EqualDiagonal {
public Square(int a) {
super(a);
}

public void getDiagonal() {
double s = Math.sqrt((double) (a * a + b * b));
System.out.println(s);
}
}

public class Main {
public static void main(String[] args) {
Rectangle m = new Rectangle(3, 4);
Square n = new Square(5);
m.getDiagonal();
n.getDiagonal();

}
}

//result:
//5.0
//7.0710678118654755

------解决方案--------------------
Java code
interface EqualDiagonal{    /**     * 求对角线长度     */    public void getDiagonal();}/** * 长方形 */class Rectangle implements EqualDiagonal{    int a;    int b;    public Rectangle(int a, int b)    {        this.a = a;        this.b = b;    }    public int getchang()    {        return a;    }    public int getkuan()    {        return b;    }    public int getzhouchang()    {        return (a + b) * 2;    }    public int getmianji()    {        return a * b;    }    public void getDiagonal()    {        double s = Math.sqrt((double) (a * a + b * b));        System.out.println(s);    }}/** * 正方形 */class Square extends Rectangle{    public Square(int a)    {        super(a, a);    }    public void getDiagonal()    {        double s = Math.sqrt((double) (a * a + b * b));        System.out.println(s);    }}public class Text{    public static void main(String[] args)    {        Rectangle m = new Rectangle(3, 4);        Square n = new Square(5);        m.getDiagonal();        n.getDiagonal();    }}
  相关解决方案