华恩JAVA班第22天

来源:互联网 发布:中国网络声乐艺术团 编辑:程序博客网 时间:2024/06/04 14:53

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