• java新手笔记16 面积


    1.图形类

    package com.yfs.javase;
    
    public class Shape {
    	//计算面积方法
    	public double getArea() {
    		System.out.println("计算面积");
    		return 0;
    	}
    
    }
    

     2.圆

    package com.yfs.javase;
    
    public class Circle extends Shape {
    	
    	private double r;
    	
    	public Circle(double r) {
    		this.r = r;
    		System.out.println("创建圆形面积");
    	}
    	
    	public double getArea() {//覆盖父类的方法
    		System.out.println("计算圆形面积...");
    		return 3.14 * r * r;
    	}
    
    }
    

     3.矩形

    package com.yfs.javase;
    
    public class Rangton  extends Shape {
    	
    	private double width;
    	private double length;
    	
    	public Rangton(double width, double length) {
    		this.width = width;
    		this.length = length;
    		System.out.println("创建矩形面积");
    	}
    	
    	public double getArea() {
    		System.out.println("计算矩形面积...");
    		return width * length;
    	}
    
    }
    

     4.三角形

    package com.yfs.javase;
    
    public class Trantangle  extends Shape {
    	
    	private double height;
    	private double width;
    	
    	public Trantangle(double height, double width) {
    		this.height = height;
    		this.width = width;
    		System.out.println("创建三角形面积");
    	}
    	
    	public double getArea() {
    		System.out.println("计算三角形面积...");
    		return 1.0 / 2 * width * height;
    	}
    
    
    }
    

     5.测试

    package com.yfs.javase;
    
    import java.util.Random;
    
    public class Test1 {
    
    	/**
    	 * 编写一个图形类,提供计算面积的方法。
    	 * 通过继承图形类,封装三角形,圆形,正方形类,
    	 * 覆盖父类的方法。在测试类里随机产生10个图形,
    	 * 面积求和。
    	 */
    	public static void main(String[] args) {
    		Shape[]  shapes = new Shape[10];//存放子类对象
    		Random ran = new Random();
    		double sum = 0;
    		//创建随即图形
    		for (int i = 0; i < shapes.length; i++) {
    			int r = ran.nextInt(101);
    			if(r > 65) {
    				shapes[i] = new Circle(ran.nextInt(10));
    			} else if( r > 35 ){
    				shapes[i] = new Rangton(ran.nextInt(10),ran.nextInt(10));
    				//shapes[i].setWidth();
    			} else {
    				shapes[i] = new Trantangle(ran.nextInt(10), ran.nextInt(10));
    			}
    		}
    		System.out.println("================");
    		//计算随机图形面积
    		for (int i = 0; i < shapes.length; i++) {
    //			Circle c = (Circle)shapes[i];
    //			sum += c.getArea();
    			sum += shapes[i].getArea();//子类对象计算面积
    		}
    		System.out.println("sum = " + sum);
    
    	}
    
    }
    
  • 相关阅读:
    5.5团队冲刺08
    5.6团队冲刺09
    5.4团队冲刺07
    5.3团队冲刺06
    5.2团队冲刺05
    第14 周作业
    CentOS Linux release 7.4 yum 安装mariadb-5.5.65 登录报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (2)
    第13周作业
    解析函数
    npm模块安装机制
  • 原文地址:https://www.cnblogs.com/feilongblog/p/4675533.html
Copyright © 2020-2023  润新知