//////
Search
📝

[0927]

생성일
2022/09/28 07:15
태그

1. 추상클래스 연습문제

철수 학생은 다음 3개의 필드와 메소드를 가진 4개의 클래스 Add, Sub, Mul, Div를 작성하려고 한다. - int 타입의 a, b 필드: 2개의 피연산자 - void setValue(int a, int b): 피연산자 값을 객체 내에 저장한다. - int calculate(): 클래스의 목적에 맞는 연산을 실행하고 결과를 리턴한다. 곰곰 생각해보니, Add, Sub, Mul, Div 클래스에 공통된 필드와 메소드가 존재하므로 새로운 추상 클래스 Calc를 작성하고 Calc를 상속받아 만들면 되겠다고 생각했다. 그리고 main() 메소드에서 다음 실행 사례와 같이 2개의 정수와 연산자를 입력받은 후, Add, Sub, Mul, Div 중에서 이 연산을 처리할 수 있는 객체를 생성하고 setValue() 와 calculate()를 호출하여 그 결과 값을 화면에 출력하면 된다고 생각하였다. 철수처럼 프로그램을 작성하라. 두 정수와 연산자를 입력하시오 >> 5 7 + 12

2. 인터페이스 연습문제

interface Shape { final double PI = 3.14; // 상수 void draw(); // 도형을 그리는 추상 메소드 double getArea(); // 도형의 면적을 리턴하는 추상 메소드 default public void redraw() { // 디폴트 메소드 System.out.print("--- 다시 그립니다."); draw(); } } 다음 main() 메소드와 실행 결과를 참고하여, 인터페이스 Shape을 구현한 클래스 Circle를 작성하고 전체 프로그램을 완성하라. public static void main(String[] args) { Shape donut = new Circle(10); // 반지름이 10인 원 객체 donut.redraw(); System.out.println("면적은 "+ donut.getArea()); }
Java
복사

3. 스택 구현

즉, 가장 최근에 스택에 추가한 항목이 가장 먼저 제거될 항목이다.
LIFO ( Last In First Out ) 후입선출

스택의 구현

pop()가장 최 상위에 위치한 자료를 추출한 후에 스택에서 제거한다
push(item)스택의 최 상위에 새로운 자료를 삽입한다
isEmpty()스택이 empty 상태인지 확인한다. 비어 있으면 true를 반환한다
clear()스택에 존재하는 모든 자료들을 삭제한다
peek()가장 최 상위에 위치한 자료를 추출한다pop 메소드와는 달리 스택에서 제거하지는 않는다.

4. 선택 정렬

선택 정렬이란?

과정 설명
1) 주어진 배열 중에서 최솟값을 찾는다.
2) 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)).
3) 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다.
4) 하나의 원소만 남을 때까지 위의 1~3 과정을 반복한다
위의 알고리즘을 참고 하여 아래의 함수를 구현하시오.
1회전 후는 첫번째자리 한자리는 무조건 정렬이 된다.
public int[] selectionSort(int n, int[] arr)
Java
복사