6-44 长方形长方体类分数 10
定义一个长方形类Rectangle,拥有长、宽属性,提供构造方法,能够计算周长getPerimeter()和面积getArea() 。
定义一个子类长方体类,拥有长、宽、高属性,提供构造方法,getPerimeter()方法计算所有边的周长,getArea()方法计算表面积,新增getVolume()方法,计算体积。
在main()方法中,分别构造长方形类和长方体类的对象,并输出他们的周长、面积、体积,保留两位小数。
方法接口定义:
double getPerimeter(); //计算周长
double getArea(); //计算面积
double getVolume(); //计算体积
裁判测试程序样例:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double length = scan.nextDouble();
double wide = scan.nextDouble();
Rectangle r = new Rectangle(length, wide);
System.out.printf("%.2f ", r.getPerimeter());
System.out.printf("%.2f", r.getArea());
System.out.println();
length = scan.nextDouble();
wide = scan.nextDouble();
double height = scan.nextDouble();
Cuboid c = new Cuboid(length, wide, height);
System.out.printf("%.2f ", c.getPerimeter());
System.out.printf("%.2f ", c.getArea());
System.out.printf("%.2f", c.getVolume());
scan.close();
}
}
/* 你的代码被嵌在这里 */
输入描述:
长方形类的长、宽
长方体类的长、宽、高
输出描述:
长方形的周长和面积
长方体的周长,表面积,体积
输入样例:
1 2
1 2 3
输出样例:
6.00 2.00
24.00 22.00 6.00
以下是答案
import java.util.Scanner;
public class Pta_6_44_2 {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
double length = scan.nextDouble();
double wide = scan.nextDouble();
Rectangle44 r = new Rectangle44(length,wide);
System.out.printf("%.2f ",r.getPerimeter());
System.out.printf("%.2f", r.getArea());
System.out.println();
length = scan.nextDouble();
wide = scan.nextDouble();
double height =scan.nextDouble();
Cuboid c= new Cuboid(length,wide,height);
System.out.printf("%.2f ", c.getPerimeter());
System.out.printf("%.2f ", c.getArea());
System.out.printf("%.2f ", c.getVolume());
}
}
//以下是答案把Rectangle44改为Rectangle
class Rectangle44{
public double length;
public double wide;
Rectangle44(){
length=0;
wide=0;
}
Rectangle44(double length,double wide){
this.length = length;
this.wide = wide;
}
double getPerimeter() {
return 2*(length+wide);
}
double getArea() {
return length*wide;
}
}
class Cuboid extends Rectangle44{
private double height;
Cuboid(double length,double wide,double height){
super(length,wide);
this.height=height;
}
double getPerimeter() {
return 4*(length+wide+height);
}
double getArea() {
return 2*(length*wide+length*height+wide*height);
}
double getVolume(){
return length*wide*height;
}
}