ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA_09_실습_상속
    1. JAVA/1.2 실습 2022. 3. 20. 23:18

    문제 ] 세모, 네모 원을 상속하는 모양 클래스를 작성하고 10개의 임의의 배열을 만들어 

             0~2까지의 수 중 0 : 원, 1 : 네모, 2 : 세모 를 출력하도로고 하여라.

     

    부모클래스 : Figure 클래스 작성

    public class Figure {
    	public void toPrint(){
    		System.out.println("모양클래스");
    	}
    
    }

     

    자식클래스 : Semo,Nemo,Circle 클래스 작성

    public class Nemo extends Figure {
    	private int width,height,area;
    	
    	Nemo(int width,int height){
    		this.width = width;
    		this.height = height;
    		setArea();
    		toPrint();
    	}
    
    	public int getWidth() {
    		return width;
    	}
    
    
    
    
    
    	public void setWidth(int width) {
    		this.width = width;
    	}
    
    
    
    
    
    	public int getHeight() {
    		return height;
    	}
    
    
    
    
    
    	public void setHeight(int height) {
    		this.height = height;
    	}
    
    
    
    
    
    	public int getArea() {
    		return area;
    	}
    
    
    
    
    
    	public void setArea(int area) {
    		this.area = area;
    	}
    
    
    	public void setArea() {
    		area = width*height;
    	}
    
    
    
    
    
    	public void toPrint(){
    	
    		System.out.printf("[네모] 가로 : %s 세로 : %s, 넓이 : %s\n", width, height,area);
    	}
    }
    public class Circle extends Figure {
    	final static double PI = 3.14;
    	private int rad; 
    	private double arround,area;
    	Circle(){}
    	
    	Circle(int rad){
    		this.rad = rad;
    		setArround();
    		setArea();
    		toPrint();
    	}
    	
    	
    	
    	
    	
    	public int getRad() {
    		return rad;
    	}
    	public void setRad(int rad) {
    		this.rad = rad;
    	}
    	public double getArround() {
    		return arround;
    	}
    	public void setArround(double arround) {
    		this.arround = arround;
    	}
    	
    	public void setArround() {
    		arround =PI*2*rad;
    	}
    	public double getArea() {
    		return area;
    	}
    	public void setArea(double area) {
    		this.area = area;
    	}
    	
    	public void setArea() {
    		area = PI*rad*rad;
    	}
    	
    	
    	
    	public void toPrint(){
    		System.out.printf("[원] 반지름 : %s 둘레 : %.2f 넓이 : %.2f\n", rad, arround,area);
    	}
    }
    public class Semo extends Figure {
    	private int width,height;
    	private double area;
    	Semo(){}
    	Semo(int width,int height){
    		this.width = width;
    		this.height = height;
    		setArea();
    		toPrint();
    	}
    	
    	
    	public int getWidth() {
    		return width;
    	}
    	public void setWidth(int width) {
    		this.width = width;
    	}
    	public int getHeight() {
    		return height;
    	}
    	public void setHeight(int height) {
    		this.height = height;
    	}
    	public double getArea() {
    		return area;
    	}
    	public void setArea(double area) {
    		this.area = area;
    	}
    	
    	public void setArea() {
    		area = width*height;
    	}
    	
    	public void toPrint(){
    		System.out.printf("[세모] 가로 : %s 세로 : %s, 넓이 : %s\n", width, height,area);
    	}
    
    }

    출력할 Practice 클래스 작성

    public class Practice {
    	Figure[] f;
    	Practice(){
    		f = new Figure[10];
    		for(int i = 0; i<f.length;i++) {
    			int soo = (int)(Math.random()*3);
    			int no1 = (int)(Math.random()*20+1);
    			int no2 = (int)(Math.random()*20+1);
    			if(soo==0) {
    				f[i] = new Circle(no1);
    			}
    			else if(soo==1) {
    				f[i] = new Nemo(no1,no2);
    			}
    			else if(soo==2) {
    				f[i] = new Semo(no1,no2);
    			}
    		}
    		
    		
    	}
    	
    	
    	
    	public static void main(String[] args) {
    		new Practice();
    	}
    }

    '1. JAVA > 1.2 실습' 카테고리의 다른 글

    JAVA_08_실습_객체(3)  (0) 2022.03.24
    JAVA_10_실습_추상  (0) 2022.03.20
    JAVA_08_실습_객체(2)  (0) 2022.03.20
    JAVA_08_실습_객체(1)  (0) 2022.03.16
    JAVA_07_실습_함수  (0) 2022.03.16
Designed by Tistory.