(문제 풀이)자바, 클래스만들기 응용

2021. 12. 17. 18:35할 수 있다! 백준 &문제 풀기

중심을 표현하는 int 타입의 x, y 필드와  반지름 값을 저장하는

int 타입의 radius 필드를 가진 Circle 클래스를 작성하고자 한다.

 

생성자는 x,y, radius값을 인자로 받아 필드를 초기화 하고 equals() 메소드는

면적이 같으면 두 Circle객체가 동일한 것으로 판별한다.

 

아래는 Circle 클래스와 이를 활용하는 코드의 실행 결과이다. 빈칸을 채워라.

 

원1: (1,2) 반지름 10
원2: (5,6)반지름 10
같은 원입니다. 

 

 

 

1.Circle 클래스 작성

class Circle {
	private int x, y, radius;
	public Circle (int x, int y, int radius) {
    this.x=x; this.y=y, this.radius=radius;
    }
    public String toString(){
    	return "("+x+","+y+")반지름"+radius;
    }
    public boolean equals(Circle c) {
    	if(radius==c.radius) return true;
        else return false;
    }

 

 

2. 메인 클래스

public class Main
	public static void main(String [] args) {
    
    Circle a= new Circle(1,2,10);
    Circle b= new Circle(5,6,10);
  	
    System.out.println("원 1: " + a);
			System.out.println("원 2: " + b);
			if(a.equals(b)) System.out.println("같은 원입니다.");
			else System.out.println("다른 원입니다.");
		}
	}

 

 

 

3. 최종

 

 

	
	class Circle {
		private int x, y, radius;
		public Circle(int x, int y, int radius) {
			this.x = x; this.y = y; this.radius = radius;
		}
		public String toString() { // Circle 객체를 문자열로 리턴
			return "(" + x + "," + y + ")" + "반지름 " + radius;
		}
		public boolean equals(Circle c) { // 두 Circle 객체가 같은지 비교
			if(radius == c.radius) return true;
			else return false;				
	}
	}

	public class Chapter6page282bonus1 {
		public static void main(String [] args) {
			Circle a = new Circle(1, 2, 10);
			Circle b = new Circle(5, 6, 10);
			System.out.println("원 1: " + a);
			System.out.println("원 2: " + b);
			if(a.equals(b)) System.out.println("같은 원입니다.");
			else System.out.println("다른 원입니다.");
		}
	}