华恩JAVA班第22天
package com.zjj;
public abstract class Shape {
private String name;
public Shape(String name){
this.name = name;
}
public abstract double Area();
public abstract double Perimeter();
}
package com.zjj;
public class Triangle extends Shape{
static double sqrt3 = 1.73;
private double length;
public Triangle(String name,double length){
super(name);
this.length = length;
}
@Override
public double Area() {
// TODO Auto-generated methodstub
returnsqrt3*length*length/4;
}
@Override
public double Perimeter() {
// TODO Auto-generated methodstub
return 3*length;
}
}
package com.zjj;
public class Square extends Shape{
private double length;
public Square(String name, double length){
super(name);
this.length = length;
}
@Override
public double Area() {
// TODO Auto-generated methodstub
return length*length;
}
@Override
public double Perimeter() {
// TODO Auto-generated methodstub
return 4*length;
}
}
package com.zjj;
public class Rectangle extends Shape{
private double length;
private double wide;
public Rectangle(String name, double length,double wide) {
super(name);
this.length = length;
this.wide = wide;
}
@Override
public double Area() {
// TODO Auto-generated methodstub
return length*wide;
}
@Override
public double Perimeter() {
// TODO Auto-generated methodstub
return 2*(length+wide);
}
}
package com.zjj;
public class Circular extends Shape{
static double PI = 3.14;
private double radius;
public Circular(String name, double radius){
super(name);
this.radius = radius;
}
@Override
public double Area() {
// TODO Auto-generated methodstub
return PI*radius*radius;
}
@Override
public double Perimeter() {
// TODO Auto-generated methodstub
return 2*PI*radius;
}
}
package com.zjj;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner in = newScanner(System.in);
System.out.println("请输入要计算的图形名字");
while(true){
String a =in.next();
if(a.equals("正三角形")){
System.out.println("请输入"+a+"的边长:");
doublelength = in.nextDouble();
Triangletriangle = new Triangle(a,length);
System.out.println(a+"的面积为:"+triangle.Area()+"\n"+a+"的周长为:"+triangle.Perimeter());
break;
}elseif(a.equals("正方形")){
System.out.println("请输入正方形的边长:");
doublelength = in.nextDouble();
Squaresquare = new Square("正方形",length);
System.out.println("正方形的面积为:"+square.Area()+"\n"+"正方形的周长为:"+square.Perimeter());
break;
}elseif(a.equals("矩形")){
System.out.println("请输入矩形的边长:");
doublelength = in.nextDouble();
System.out.println("请输入矩形的宽:");
doublewide = in.nextDouble();
Rectanglerectangle = new Rectangle("矩形",length,wide);
System.out.println("矩形的面积为:"+rectangle.Area()+"\n"+"矩形的周长为:"+rectangle.Perimeter());
break;
}elseif(a.equals("circular")){
System.out.println("请输入圆形的半径:");
doubleradius = in.nextDouble();
Circularcircular = new Circular("圆形",radius);
System.out.println("圆形的面积为:"+circular.Area()+"\n"+"圆形的周长为:"+circular.Perimeter());
break;
}else{
System.out.println("暂不支持其他图形计算,请重新输入");
}
}
}
}