Java第一次實驗 參考答案

[size=x-large]題目地址: http://090612.iteye.com/blog/645021[/size]

[size=large]第一題:[/size]
public class JavaTestOne {

public static void main(String[] args) {
Rectangle Rec = new Rectangle(5,4);//Rectangle(length,width)
Square Squ = new Square(6);//Square(length)
System.out.println("The rectangle's area is "+Rec.calcArea());
System.out.println("The rectangle's perimeter is "+Rec.calcPerimeter());
System.out.println("The square's area is "+Squ.calcArea());
System.out.println("The square's perimeter is "+Squ.calcPerimeter());
}
}

class Rectangle{

int length;
int width;

int calcArea(){
return length*width;
}

int calcPerimeter(){
return 2*(length+width);
}

public Rectangle(int x,int y){
length=x;
width=y;
}
}

class Square extends Rectangle{

int calcArea(){
return length*length;
}

int calcPerimeter(){
return 4*length;
}

Square(int z){
super(z, z);
length=z;
}
}

注:理論上來講,正方形不應該作爲長方形的子類!

[size=large]第二題:[/size]
public class JavaTestTwo {

public static void main(String[] args) {
Rectangle Rec = new Rectangle(3,4);//Rectangle(length,width)
Square Squ = new Square(2);//Square(length)
Rec.pringtItMyWay('#');
Rec.pringtItMyWay();
Squ.pringtItMyWay('$');
Squ.pringtItMyWay();
}
}

interface Printable{
void pringtItMyWay();
void pringtItMyWay(char a);
}

class Rectangle implements Printable{
int i,j;
int length;
int width;

int calcArea(){
return length*width;
}

int calcPerimeter(){
return 2*(length+width);
}

public void pringtItMyWay(){
System.out.println("The rectangle's length is "+length);
System.out.println("The rectangle's width is "+width);
System.out.println("The rectangle's area is "+calcArea());
System.out.println("The rectangle's perimeter is "+calcPerimeter());
}

public void pringtItMyWay(char a) {
for (i=0;i<width;i++){
for (j=0;j<length;j++)
System.out.print(a);
System.out.println("");
}
}

public Rectangle(int x,int y){
length=x;
width=y;
}
}

class Square extends Rectangle implements Printable{

int calcArea(){
return length*length;
}

int calcPerimeter(){
return 4*length;
}

public void pringtItMyWay(){
System.out.println("The square's length is "+length);
System.out.println("The square's area is "+calcArea());
System.out.println("The square's perimeter is "+calcPerimeter());
}

public void pringtItMyWay(char a){
for (i=0;i<length;i++){
for (j=0;j<length;j++)
System.out.print(a);
System.out.println("");
}
}

Square(int x){
super(x,x);
length=x;
}
}

注:同樣的,正方形本不應該作爲長方形的子類出現。

本參考答案系菜鳥編寫,請各位大蝦們在留言內指出錯誤並提出修改建議,本人不勝感激!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章