tgool
Tgool
tgool
전체 방문자
오늘
어제
  • 분류 전체보기
    • Data Science
      • AI
      • Data Mining
      • ML(Machine Learning)
    • Computer Science
      • 자료구조
      • 알고리즘
      • 시스템 프로그래밍
      • 운영체제
      • 컴퓨터 구조
      • 컴퓨터 네트워크
      • 데이터 베이스
      • 파이썬
      • 자바
      • 아두이노
    • Math
      • 통계학
      • 확률론
      • 선형대수학
      • 수리통계학
      • 회귀분석
    • TOFEL
    • Git
    • Plan
    • Book
    • Working out
      • 영양과 생활
      • 운동 정보
      • 운동 기록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
tgool
Computer Science/자바

[JAVA] 사각형의 면적 구하기

[JAVA] 사각형의 면적 구하기
Computer Science/자바

[JAVA] 사각형의 면적 구하기

2023. 2. 10. 14:15

 

문제


평면상에 좌표축에 평행한 n개의 직사각형에 관한 데이터를 입력 받은 후 면적이 작은 것부터 큰 것 순으로 정렬하여 출력하는 프로그램을 작성하라.

 

입력

 

0 1 2 4 // 왼쪽-위쪽 꼭지점의 좌표가 (0,1)이고, 너비가 2, 높이가 4
1 4 7 8
4 3 12 9
8 18 11 30
5 10 6 11

 

출력

0 1 2 4 
1 4 7 8
5 10 6 11
4 3 12 9
8 18 11 30

 

 


코드

public class MyPoint1 { 
 public int x; 
 public int y; 
}
//2차원 평면에서 정수 좌표를 가지는 하나의 점을 표현하기 위한
//클래스. 한 점의 x-좌표와 y-좌표는 항상 붙어다녀야 하므로 하
//나의 데이터 단위로 취급하기 위해서 이 클래스를 작성
public class MyRectangle1 { 
 public MyPoint1 lu; 
 public int width; 
 public int height;
}
//좌표축에 평행한 하나의 사각형은 왼쪽-위쪽 꼭지점과 너비, 그리고 높이에 의해서 정의된다
public class Code05 {
	static MyRectangle1 [] rects = new MyRectangle1[100]; // 참조변수 배열 생성
	static int n=0; 
	public static void main(String[] args) { 
		try { 
			Scanner source = new Scanner(new File("data.txt")); 
			//데이터 파일로 부터 사각형에 관한 정보를 읽어 배열 rects에 저장한다. 
			//n은 읽은 사각형의 개수이다
			while (source.hasNext()) { 
				rects[n] = new MyRectangle1(); // 객체 생성 필수
				rects[n].lu = new MyPoint1(); // 객체 생성 필수(그 전까지는 참조할 것이 없어서)
				rects[n].lu.x = source.nextInt(); 
				rects[n].lu.y = source.nextInt(); 
				rects[n].wdith = source.nextInt(); 
				rects[n++].height = source.nextInt();
			} 
			source.close(); 
		} catch (FileNotFoundException e) { 
			System.out.println("No data file exists."); 
			System.exit(1); 
		}
        
		bubbleSort(); //정렬 
		for (int i=0; i<n; i++) { 
			System.out.println(rects[i].lu.x + “ “ + rects[i].lu.y + “ “ + rects[i].width + “ “ + rects[i].height);
		} 
        //버블소트 정렬 오름차순
		public static void bubbleSort() { 
			for (int i = n-1; i>0; i--){
				for (int j = 0; j < i; i++) {
					if((rects[j].width * rects[j].height) > (rects[j+1].width * rects[j+1].height))
						MyRectangle1 tmp = rects[j];
						rects[j] = rects[j+1];
						rects[j+1] = tmp;
				}
			}
		} 
	}
 
}

//

'Computer Science > 자바' 카테고리의 다른 글

[JAVA] 객체 생성 및 사용법  (0) 2023.03.23
[JAVA] 클래스 소스파일 작성 유의점  (0) 2023.03.23
[Java] 객체지향개념(요약)  (0) 2023.03.17
[JAVA] 다항함수 만들기  (0) 2023.02.10
[JAVA] 클래스, 객체, 참조변수, 객체배열_JAVA  (0) 2023.02.08
  •  
  • 문제
  •  
  • 입력
  •  
  • 출력
  • 코드
'Computer Science/자바' 카테고리의 다른 글
  • [JAVA] 클래스 소스파일 작성 유의점
  • [Java] 객체지향개념(요약)
  • [JAVA] 다항함수 만들기
  • [JAVA] 클래스, 객체, 참조변수, 객체배열_JAVA
tgool
tgool

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.