본문 바로가기
study/Java

[Java] 20. 생성자 Exam2 (Rectangle3 클래스 구현하기)

by 금이패런츠 2022. 3. 18.
728x90
반응형
package chap6;
/* 1. Rectangle3 클래스 구현하기
 * 멤버변수 : 가로(width),세로(height)
 * 멤버메서드 :
 *     int area() : 사각형의 넓이 리턴
 *     int length() : 사각형의 둘레 리턴
 *     boolean isSquare() : 정사각형여부 리턴
 *     String toString() : 가로길이, 세로길이, 넓이,둘레, 정사각형여부를 리턴
 * 생성자 : 구동클래스에 맞도록 구현    
 */
class Rectangle3 {
	int width,height;
	Rectangle3 (int w, int h) {
		width = w;
		height = h;
	}
	int area() {
		return width * height;
	}
	int length() {
		return 2 * (width + height);
	}
	boolean isSquare() {
		return width == height;
	}
	
	public String toString() {
		return "("+ width+","+height+") 사각형: 넓이:" + area() 
		+ ",둘레:" + length() + "," + ((isSquare())?"정사각형":"정사각형아님");  
	}
}

public class Exam4 {
	public static void main(String[] args) {
		
		Rectangle3[] arr = new Rectangle3[5];
		int sumArea=0,sumLength=0,cnt=0;
		for(int i=0;i<arr.length;i++) {
			int w = (int)(Math.random() * 5) + 10;
			int h = (int)(Math.random() * 5) + 10;
			arr[i] = new Rectangle3(w,h); //생성자를 이용한 객체 생성
			System.out.println(arr[i]);
			sumArea += arr[i].area();
			sumLength += arr[i].length();
			if(arr[i].isSquare()) cnt++;
		}
		System.out.println("전체 사각형의 넓이 합:" + sumArea);
		System.out.println("전체 사각형의 둘레 합:" + sumLength);
		System.out.println("전체 사각형 중 정사각형 갯수:" + cnt);
	}
}
728x90
반응형