长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周
长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形
的面积和周长。
代码如下
package lianxi;
import java.util.Scanner;
public class Lianxi16 {
public static void main(String[] args) {
Rounnd round=new Rounnd();
Oblong oblong=new Oblong();
System.out.println("请输入你所求的图形:圆/长方形");
Scanner a=new Scanner(System.in);
String a1=a.next();
if(a1.equals("圆")) {
System.out.println("请输入圆的半径:");
double a2=a.nextDouble();
round.set(a2);
round.girth();
round.area();
}
else if(a1.equals("长方形")) {
System.out.println("请输入长方形的长和宽:");
double a3=a.nextDouble();
double a4=a.nextDouble();
oblong.set(a3, a4);
oblong.girth();
oblong.area();
}
else {
System.out.println("输入错误");
}
}
}
abstract class Count{
abstract void girth( );
abstract void area( );
}
class Rounnd extends Count{
private double r;
void set (double r) {
this.r=r;
}
void girth() {
System.out.println("该圆周长为:"+String.format("%.2f", 2*r*Math.PI));
System.out.println();
}
void area() {
System.out.println("该圆面积为:"+String.format("%.2f", r*r*Math.PI));
}
}
class Oblong extends Count{
private double length;
private double width;
void set (double length,double width) {
this.length=length;
this.width=width;
}
void girth(){
System.out.println("该长方形周长为:"+String.format("%.2f", 2*(length+width)));
}
void area() {
System.out.println("该长方形面积为:"+String.format("%.2f", length*width));
}
}
运行结果