-
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