目錄
一:函數題
6-2 長方形長方體類:
6-1 從抽象類shape類擴展出一個圓形類Circle
二:編程題
7-1:周長計算器
?一:函數題
6-2 長方形長方體類:
定義一個長方形類Rectangle,擁有長、寬屬性,提供構造函數,能夠計算周長getPerimeter()和面積getArea()
定義一個子類長方體類,擁有長、寬、高屬性,提供構造函數,getPerimeter函數計算所有邊的周長,getArea函數計算表面積,新增getVolume函數,計算體積
在main函數中,分別構造長方形類和長方體類的對象,并輸出他們的周長、面積、體積,保留兩位小數
裁判測試程序樣例:
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(); }
}/* 你的代碼被嵌在這里 */
答案代碼:
class Rectangle{double length;double wide;public Rectangle(double length,double wide){this.length=length;this.wide=wide;}public double getPerimeter(){return (length+wide)*2;}public double getArea(){return (length*wide);}}class Cuboid extends Rectangle{double height;public Cuboid(double length,double wide,double height){super(length,wide);this.height=height;}@Overridepublic double getPerimeter(){return (length+wide+height)*4;}@Overridepublic double getArea(){return (wide*height+height*length+wide*length)*2;}public double getVolume(){return length*wide*height;}
}
6-1 從抽象類shape類擴展出一個圓形類Circle
請從下列的抽象類shape類擴展出一個圓形類Circle,這個類圓形的半徑radius作為私有成員,類中應包含初始化半徑的構造方法
裁判測試樣例:
import java.util.Scanner;
import java.text.DecimalFormat;abstract class shape {// 抽象類/* 抽象方法 求面積 */public abstract double getArea( );/* 抽象方法 求周長 */public abstract double getPerimeter( );
}/* 你提交的代碼將被嵌入到這里 */public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);DecimalFormat d = new DecimalFormat("#.####");// 保留4位小數double r = input.nextDouble( ); shape c = new Circle(r);System.out.println(d.format(c.getArea()));System.out.println(d.format(c.getPerimeter()));input.close();}
}
答案代碼:
class Circle extends shape{
private double radius;
public Circle(double radius){
this.radius =radius;
}public double getArea(){
return Math.PI *radius*radius;
}
public double getPerimeter( ) {
return 2*Math.PI*radius;
}
}
二:編程題
7-1:周長計算器
1、定義一個接口 Shape 用于表示圖形,其包含一個 double ?length() 的方法用于求周長。
2、定義三角形類 Triangle 、長方形類 Rectangle 、圓形類Circle分別實現接口 Shape?
3、定義測試類ShapeTest并使用 Shape接口定義變量shape,用其指向不同類形的對象,輸出各種圖形的周長。
提示:
1、計算圓周長時PI取3.14即可;
2、需要判斷能否構成三角形(任意兩個邊的和大于第三邊),不能構成三角形的話周長為0。
答案代碼如下:
import java.util.Scanner;
class Shape{public double length(){return 0.0;}
}
class Triangle extends Shape{private double a;private double b;private double c;Triangle(double a,double b,double c){if(a>0&&b>0&&c>0&&(a+b)>c&&(b+c)>a&&(a+c)>b){this.a=a;this.b=b;this.c=c;}else {this.a=0.0;this.b=0.0;this.c=0.0; }} public double length(){return a+b+c;}}
class Rectangle extends Shape{private double a;private double b;Rectangle(double a,double b){if(a>0&&b>0){this.a=a;this.b=b;}else {this.a=0.0;this.b=0.0;}}public double length(){return 2*(a+b);}
}
class Circle extends Shape{private double a;Circle(double a){if(a>0){this.a=a;}else {this.a=0.0;}}public double length(){return 2*3.14*a;}
}
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);
}