java考前一天

package hello;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ShapeManager {
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		List<Shape> shapes = new ArrayList();
		
		System.out.println("很欢迎使用图形管理系统:");
		while(true) {
			System.out.println("请选择操作:");
            System.out.println("1. 创建一个圆");
            System.out.println("2. 创建一个矩形");
            System.out.println("3. 创建一个立方体");
            System.out.println("4. 创建一个圆柱");
            System.out.println("5. 显示已创建的图形的面积");
            System.out.println("6. 退出系统");
            
            int choice = cin.nextInt();
            
            switch(choice) {
            case 1:
            	System.out.println("输入半径:");
            	double r = cin.nextDouble();
            	shapes.add(new Circle(r));
            	break;
            	
            case 2:
            	System.out.println("输入矩形的宽:");
            	double w = cin.nextDouble();
            	System.out.println("输入矩形的长:");
            	double h = cin.nextDouble();
            	shapes.add(new Rectangle(w,h));
            	break;
            	
            case 3:
            	System.out.println("根据已经创建的矩形,进行创建:");
            	System.out.println("请输入立方体的高:");
            	double height = cin.nextDouble();
            	Rectangle base = null;
            	for(Shape shape:shapes) {
            		if(shape instanceof Rectangle) {
            			base = (Rectangle)shape;
            			break;
            		}
            	}
            	if(base != null) {
            		shapes.add(new Cube(base,height));
              	}else System.out.println("请先创建矩形");
            	break;
            	
            case 4:
            	System.out.println("根据已经创建的圆形,进行创建:");
            	System.out.println("请输入圆柱的高:");
            	double height2 = cin.nextDouble();
            	Circle base2 = null;
            	for(Shape shape:shapes) {
            		if(shape instanceof Circle) {
            			base2 = (Circle) shape;
            			break;
            		}
            	}
            	if(base2 != null) {
            		shapes.add(new Clinder(base2,height2));
            	}else System.out.println("请先创建一个圆形");
            	break;
            	
            case 5:
            	double sum = 0;
            	for (Shape shape : shapes) {
            		sum+=shape.getArea();
                    System.out.println("图形的面积: " + shape.getArea());
                }
            	System.out.println("总共:"+sum);
                break;
                
            case 6:
            	System.out.println("退出系统.");
                cin.close();
                return;
                
            default:
                System.out.println("无效的选项,请重试.");
            
            
            
            }
            
            
            
		}
		
		
		
		
		
		
		
		
		
		
		
	}
}






abstract class Shape{
	public abstract double getArea();
}

class Rectangle extends Shape{
	private double weight;
	private double height;
	
	public Rectangle(double weight,double height) {
		this.weight = weight;
		this.height = height;
	}
	
	public double getArea() {
		return this.weight*this.height;
	}

	public double getWeight() {
		return weight;
	}

	public void setWeight(double weight) {
		this.weight = weight;
	}

	public double getHeight() {
		return height;
	}

	public void setHeight(double height) {
		this.height = height;
	}
	
}

class Circle extends Shape{
	private double r;
	
	public Circle(double r) {
		this.r = r;
	}
	
	public double getR() {
		return this.r;
	}
	
	@Override
	public double getArea() {
		return Math.PI*r*r;
	}
}

class Cube extends Rectangle{
	private double height;
	private Rectangle r;
	public Cube(Rectangle r,double height) {
		super(r.getWeight(),r.getHeight());
		this.height = height;
	}
	
	public double getArea() {
		return super.getArea()*2+super.getWeight()*this.height*2+super.getHeight()*this.height*2;
	}
	
	
}

class Clinder extends Circle{
	private double height;
	private Circle c;
	public Clinder(Circle c,double height) {
		super(c.getR());
		this.height = height;
	}
	
	public double getArea() {
		return super.getArea()*+super.getR()*2*Math.PI*this.height;
	}
}








package hello;
import java.io.*;
public class ShapeManager{
	public static void main(String[] args) {
		Audi_A6 a6 = new Audi_A6();
		a6.startUp();
		a6.danqiturbo();
		
		Audi_A8 a8 = new Audi_A8();
		a8.startUp();
		a8.danqiturbo();
		
		MercedesBenz m = new BMW_x3();
		m.startUp();
		m.xiaopenturbo();
		
		
	}
}

abstract class Car{
	public abstract void startUp();
}

abstract class Audi extends Car{
	public abstract void danqiturbo();
}

abstract class MercedesBenz extends Car{
	public abstract void xiaopenturbo();
}

class Audi_A6 extends Audi{
	public void startUp() {
		System.out.println("调用奥迪A6启动功能");
	}
	public void danqiturbo() {
		System.out.println("调用奥迪加速");
	}
	
}

class Audi_A8 extends Audi{
	public void startUp() {
		System.out.println("调用奥迪A8启动功能");
	}
	
	public void danqiturbo() {
		System.out.println("调用奥迪加速");
	}
}

class BMW_x3 extends MercedesBenz{
	public void startUp() {
		System.out.println("调用宝马x3启动功能");
	}
	public void xiaopenturbo() {
		System.out.println("调用宝马加速");
	}
	
}


package hello;
import java.io.*;
import java.util.*;
public class ShapeManager{
	public static void main(String[] args) {
		
		Ant a = new Ant();
		a.fly();
		a.getleg();
		
		pigeon p = new pigeon();
		p.fly();
		p.leyegg();
		
	}
}

interface AnimalFly{
	public abstract void fly();
}


class Insect{
	public int leg = 6;
}

class bird{
	public void leyegg() {
		
	}
}

class Ant extends Insect implements AnimalFly{
	public void fly() {
		System.out.println("蚂蚁会飞");
	}
	
	public Ant() {
		// TODO Auto-generated constructor stub
	}
	
	public void getleg() {
		System.out.println(this.leg);
	}

	
	
}


class pigeon extends bird implements AnimalFly{
	public void fly() {
		System.out.println("鸽子会飞");
	}
	
	public void leyegg() {
		System.out.println("鸽子会下蛋");
	}
	
}

package hello;
import java.io.*;
import java.util.*;
public class ShapeManager{
	public static void main(String[] args) {
		Computer c = new Computer();
		c.plugin(new Phone());
		c.plugin(new Print());
		c.plugin(new MP3());
		MainBoard mb = new MainBoard();
		//在主板上插入网卡
		PCI nc = new Network();
		mb.usePCICard(nc);
		//在主板上插入声卡
		PCI sc = new SoundCard();
		mb.usePCICard(sc);
		//在主板上插入显卡
		PCI gc = new GraphicCard();
		mb.usePCICard(gc);

	
		
	}
}

interface USB{// 操作标准  
    public void install();
    public void work();
}

//在电脑上应用此接口:
class Computer{
    public void plugin(USB usb){
        usb.install();
        usb.work();
    }
}
//定义USB设备—手机
class Phone implements USB{

@Override
    public void install() {
        System.out.println("安装手机驱动程序。");
    }

@Override
    public void work() {
        System.out.println("手机与电脑进行工作。") ;
    }
}

//定义USB设备—打印机:
class Print implements USB{

@Override
    public void install() {
        System.out.println("安装打印机驱动程序。") ;
    }

@Override
    public void work() {
        System.out.println("进行文件打印。") ;
    }

}
//定义USB设备—MP3:
class MP3 implements USB{
   public void install() {
        System.out.println("安装MP3驱动程序。") ;
   }
   public void work() {
        System.out.println("进行MP3拷贝。") ;
   }

}

/**
 * 定义PCI接口,定义主板PCI插槽规范
 *  *
 */
interface PCI{
    public abstract void start();
    public abstract void stop();
}

/**
 * 网卡实现PCI接口规范
 *
 */
class Network implements PCI{

@Override
public void start() {
    System.out.println("Send....");
}

@Override
public void stop() {
    System.out.println("Network stop");
}

}

/**
 * 显卡实现PCI接口规范
 */

class GraphicCard implements PCI{

@Override
public void start() {
    System.out.println("Display Graphic...");
}

@Override
public void stop() {
    System.out.println("Display Graphic stop!");
}

}

/**
 * 声卡实现PCI接口规范
 */

class SoundCard implements PCI{

@Override
public void start() {
    System.out.println("Du du....");
}

@Override
public void stop() {
    System.out.println("Sound stop");
    }
}

/**
 * 主板类
 */
class MainBoard{
    /**
     * 通过这个方法,主板上可以插入任何实现PCI接口规范的卡
     * 
     * @param pci 参数类型为接口,任何实现接口的类都可以传进来.
     */

    public void usePCICard(PCI pci){
        pci.start();
        pci.stop();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值