일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 변수
- SQLIntegrityConstraintViolationException
- 컬렉션프레임워크
- 변수 기본형
- 간단한 연산
- DropDown
- var 변수
- 표 구현
- 할당 연산자
- Scanner
- Style Sheet
- 삼항(조건) 연산자
- decimalformat
- count_program
- 형변환 연산자
- 가위바위보 게임
- 논리 연산자
- 유효성 검사
- 반복문
- IF else
- 접근제한자
- 관계 연산자
- switch-case
- 문자열 비교
- 업다운 게임
- color code
- 객체 배열
- 배열 array
- Do while
- Math 함수
Archives
- Today
- Total
무룩 공부방
[Java02] 25. 추상 클래스 응용 (1) (Abstract Class) (Eclipse) 본문
IT/Java02_Intermediate
[Java02] 25. 추상 클래스 응용 (1) (Abstract Class) (Eclipse)
moo_look 2023. 10. 7. 20:49# 문제
키보드로 부터 정수 2개(a, b)를 입력받아 더하여 출력하시오
키보드로 부터 정수 2개(a, b)를 입력받아 빼기 출력하시오
키보드로 부터 정수 5개의 정수값을 입력받아 배열에 저장하고 평균을 출력하시오
단, 추상 클래스와 추상 메서드를 만들어 처리하시오
+ ArrayList로 처리
+ HashMap으로 처리
package java02_intermediate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
abstract class AbsTest {
abstract int add(int a, int b); // 더하기
abstract int sub(int a, int b); // 빼기
abstract double avg(int[] arr); // 평균
abstract double avg(ArrayList<Integer> arr); // ArrayList로 처리
abstract double avg(HashMap<Integer, Integer> map); // HashMap으로 처리
}
class ResultTest extends AbsTest{
@Override
int add(int a, int b) {
int result = a + b;
return result;
}
@Override
int sub(int a, int b) {
int result = a - b;
return result;
}
@Override
double avg(int[] arr) {
int sum = 0;
for(int i = 0; i < arr.length; i++) {
sum += arr[i];
}
double avg = (double)sum / arr.length;
return avg;
}
@Override
double avg(ArrayList<Integer> arr) {
int sum = 0;
for(Integer i : arr) {
sum += i;
}
double avg = (double) sum / arr.size();
return avg;
}
@Override
double avg(HashMap<Integer, Integer> map) {
int sum = 0;
for(Integer i : map.keySet()) {
sum += map.get(i);
}
double avg = (double) sum / map.size();
return avg;
}
}
public class Java25_Abstract {
public static void main(String[] args) {
ResultTest resulttest = new ResultTest();
Scanner sc = new Scanner(System.in);
///////////////
// 키보드로 부터 정수 2개(a, b)를 입력받아 더하여 출력하시오
System.out.print("2개의 정수를 입력하세요 : ");
int add1 = sc.nextInt();
int add2 = sc.nextInt();
int add = resulttest.add(add1, add2);
System.out.println("정수 a와 b를 더한 값 : "+add+"\n");
////////////
// 키보드로 부터 정수 2개(a, b)를 입력받아 빼기 출력하시오
System.out.print("2개의 정수를 입력하세요 : ");
int sub1 = sc.nextInt();
int sub2 = sc.nextInt();
int sub = resulttest.sub(sub1, sub2);
System.out.println("정수 a와 b를 뺀 값 : "+sub+"\n");
/////////////
// 키보드로 부터 정수 5개의 정수값을 입력받아 배열에 저장하고 평균을 출력하시오
int[] arr = new int[5];
System.out.print("5개의 정수를 입력하세요 : ");
for(int i = 0; i < arr.length; i++) {
int input = sc.nextInt();
arr[i] = input;
}
double avg = resulttest.avg(arr);
System.out.print("정수 5개의 평균값 : "+avg+"\n\n");
/////////////
// + ArrayList로 처리
ArrayList<Integer> arr1 = new ArrayList<Integer>();
System.out.print("5개의 정수를 입력하세요 : ");
for(int i = 0; i < 5; i++) {
int input = sc.nextInt();
arr1.add(input);
}
avg = resulttest.avg(arr1);
System.out.print("정수 5개의 평균값 : "+avg+"\n\n");
///////////////
// + HashMap으로 처리
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
System.out.print("5개의 정수를 입력하세요 : ");
for(int i = 0; i < 5; i++) {
int input = sc.nextInt();
map.put(i, input);
}
avg = resulttest.avg(map);
System.out.print("정수 5개의 평균값 : "+avg+"\n");
sc.close();
}
}
'IT > Java02_Intermediate' 카테고리의 다른 글
[Java02] 26. 인터페이스 (Interface) (Eclipse) (2) | 2023.10.08 |
---|---|
[Java02] 추상 클래스 응용 (2) (Abstract Class) (Eclipse) (2) | 2023.10.07 |
[Java02] 24. 추상 클래스(Abstract Class) (Eclipse) (0) | 2023.10.07 |
[Java02] 23. 오버라이딩(Overriding) (Eclipse) (0) | 2023.10.07 |
[Java02] 22. 다형성 (Eclipse) (4) | 2023.10.02 |