728x90
다음은 단위를 변환하는 추상 클래스 Converter이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import java.util.Scanner;
abstract class Converter {
abstract protected double convert(double src); // 추상 메소드
abstract protected String getSrcString(); // 추상 메소드
abstract protected String getDestString(); // 추상 메소드
protected double ratio; // 비율
public void run() {
Scanner scanner = new Scanner(System.in);
System.out.println(getSrcString()+"을 "+getDestString()+"로 바꿉니다.");
System.out.print(getSrcString()+"을 입력하세요>> ");
double val = scanner.nextDouble();
double res = convert(val);
System.out.println("변환 결과: "+res+getDestString()+"입니다");
scanner.close();
}
}
|
cs |
3. Converter 클래스를 상속받아 원화를 달러로 변환하는 Won2Dollar 클래스를 작성하라. main() 메소드와 실행 결과는 다음과 같다.
public static void main(String args[]) {
Won2Dollar toDollar = new Won2Dollar(1200); // 1달러는 1200원
toDollar.run();
}
[실행결과]
원을 달러로 바꿉니다.
원을 입력하세요>> 24000
변환 결과: 20.0달러입니다
[풀이]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class Won2Dollar extends Converter{
public Won2Dollar(double ratio) {
this.ratio = ratio;
}
protected double convert(double src) {
return src/ratio;
}
protected String getSrcString() {
return "원";
}
protected String getDestString() {
return "달러";
}{
}
}
|
cs |
4.Converter 클래스를 상속받아 Km를 mile(마일)로 변환하는 Km2Mile 클래스를 작성하라, main() 메소드와 실행 결과는 다음과 같다.
public static void main(String args[]) {
Km2Mile toMile = new Km2Mile(1.6); // 1마일은 1.6km
toMile.run();
}
[실행결과]
Km을 mile로 바꿉니다.
Km을 입력하세요>> 30
변환 결과: 18.75mile입니다
[풀이]
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
|
class Km2Mile extends Converter {
Km2Mile(double ratio){
this.ratio = ratio;
}
@Override
protected double convert(double src) {
// TODO Auto-generated method stub
return src/ratio;
}
@Override
protected String getSrcString() {
// TODO Auto-generated method stub
return "KM";
}
@Override
protected String getDestString() {
// TODO Auto-generated method stub
return "Mile";
}
}
|
cs |
728x90
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
<Java> 명품 Java Programming 실습문제 6장 1 - 8 (0) | 2021.07.13 |
---|---|
<JAVA> 명품 JAVA Programming 5장 실습문제 9번, 10번, 11번 (0) | 2021.07.08 |
<Java> 명품 Java programming 5장 5번, 6번, 7번, 8번 (0) | 2021.07.07 |
<Java> 명품 Java programming 5장 실습문제 1 -2 해답 (0) | 2021.07.07 |
<Java> 명품 Java programming 4장 실습문제 5 ~ 8 해답 (0) | 2021.07.06 |