`
bianku
  • 浏览: 69795 次
  • 性别: Icon_minigender_1
  • 来自: 常州
社区版块
存档分类
最新评论

【Java实训项目【4】】

    博客分类:
  • Java
阅读更多

实训项目4

二维平面图形包括圆、矩形、三角形等形状的图形,这些平面图形有共同点,同时每个图形又各有自己的特点。例如,每个图形都有面积和周长,都需要有求面积和求周长的方法,但是圆、矩形、三角形计算面积和计算周长的方法又是不一样的。

本项目是应用面向对象的继承特性编写一个求圆、矩形、三角形的面积和周长的程序。

package 项目4;

public class Graph {
	double area;
	double perimeter;
}

class Circle extends Graph {
	double radii;

	public double getRadii() {
		return radii;
	}

	public void setRadii(double radii) {
		this.radii = radii;
	}

	public double getArea() {
		return Math.PI * radii * radii;
	}

	public double getPerimeter() {
		return Math.PI * radii * 2;
	}

}
class Trigon extends Graph {
		double a, b, c;

		public double getA() {
			return a;
		}

		public void setA(double a) {
			this.a = a;
		}

		public double getB() {
			return b;
		}

		public void setB(double b) {
			this.b = b;
		}

		public double getC() {
			return c;
		}

		public void setC(double c) {
			this.c = c;
		}
     public double getArea() {
			if (a + b > c && b + c > a && a + c > b) {
				double ban = (a + b + c) / 2;
				area = Math.sqrt(ban * (ban - a) * (ban - b) * (ban - c));
							}
			return area;
		

		}
		public double getPerimeter() {
			return a + b + c;
		}
}
   class Rectangle extends Graph{
	  double length,wide;

	public double getLength() {
		return length;
	}

	public void setLength(double length) {
		this.length = length;
	}

	public double getWide() {
		return wide;
	}

	public void setWide(double wide) {
		this.wide = wide;
		
	}	
	public double getArea(){
			return length*wide;
	}
	public double getPerimeter(){
		return (wide+length)*2;
	}		
}	




package 项目4;
import java.util.Scanner;
public class AreaPerimeter {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		while(true){
		System.out.println("(请输入图形的代号:【0】圆形  【1】三角形  【2】矩形 【3】退出程序)");
		switch (in.nextInt()){
		case 0:
			Circle c=new Circle();
			System.out.println("输入圆的半径:");
			c.setRadii(in.nextDouble());
			System.out.println("圆的面积为:"+c.getArea());
			System.out.println("圆的周长为:"+c.getPerimeter());
			break;
		case 1:
			Trigon t=new Trigon();
			System.out.println("请输入三角形的三边");
			t.setA(in.nextDouble());
			t.setB(in.nextDouble());
			t.setC(in.nextDouble());
			System.out.println("三角型的面积为:"+t.getArea());
			System.out.println("三角形的面积为"+t.getPerimeter());
			break;
		case 2:
			Rectangle r=new Rectangle();
			System.out.println("输入矩形的长和宽:");
			r.setLength(in.nextDouble());
			r.setWide(in.nextDouble());
			System.out.println("矩形的面积为:"+r.getArea());
			System.out.println("矩形的周长为:"+r.getPerimeter());
			break;
		case 3:
			System.exit(0);
			
		}
		}
			
	}

}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics