华恩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("暂不支持其他图形计算,请重新输入"); } } } }