Java第一次实验 参考答案

本文通过两个Java程序示例展示了正方形作为矩形子类的设计,并实现了特定的方法。第一个示例通过继承实现面积和周长计算;第二个示例则通过实现接口来打印形状的属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[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;
}
}

注:同样的,正方形本不应该作为长方形的子类出现。

本参考答案系菜鸟编写,请各位大虾们在留言内指出错误并提出修改建议,本人不胜感激!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值