5장 실습 문제

hyunwoo·2022년 12월 2일
0
  1. Converter 클래스를 상속 받아 원화를 달러로 변환하는 Won2Dollar 클래스를 작성하라. main() 메소드와 실행 결과는 다음과 같다.
import java.util.Scanner;

abstract class Converter{
    abstract protected double convert(double src);
    abstract protected String getSrcString();
    abstract protected String getDesString();
    protected double ratio; // 비율

    public void run(){
        Scanner sc = new Scanner(System.in);
        System.out.println(getSrcString() + "을"+ getDesString()+"로 바꿉니다.");
        System.out.print(getSrcString()+"을 입력하세요.>>");
        double val = sc.nextDouble();
        double res = convert(val);
        System.out.println("반환 결과: "+res+getDesString()+"입니다");
        sc.close();
    }
}
public class Won2Dollar extends Converter{
    public Won2Dollar(double ratio){
        this.ratio = ratio;
    }
    protected double convert(double src){ // val
        return (src / ratio);

    }
    protected String getSrcString(){
        String won="원";
        return won;
    }
    protected String getDesString(){
        String dol="달러";
        return dol;
    }

    public static void main(String[] args){
        Won2Dollar toDollar = new Won2Dollar(1200);
        toDollar.run();
    }
}
import java.util.Scanner;

abstract class Converter{
    abstract protected double convert(double src);
    abstract protected String getSrcString();
    abstract protected String getDesString();
    protected double ratio; // 비율

    public void run(){
        Scanner sc = new Scanner(System.in);
        System.out.println(getSrcString() + "을"+ getDesString()+"로 바꿉니다.");
        System.out.print(getSrcString()+"을 입력하세요.>>");
        double val = sc.nextDouble();
        double res = convert(val);
        System.out.println("반환 결과: "+res+getDesString()+"입니다");
        sc.close();
    }
}


public class Km2Mile extends Converter {
    public Km2Mile(double n){
        this.ratio = n;
    }
    protected double convert(double src){ // val
        return 30/ ratio;
    }
    protected String getSrcString(){
        return "Km";
    }
    protected String getDesString(){
        return "mile";
    }
    public static void main(String[] args){
        Km2Mile toMile = new Km2Mile(1.6);
        toMile.run();
    }
}
[풀이]  https://security-nanglam.tistory.com/215

class ColorPoint extends Point {
   private String color;
   public ColorPoint(int x, int y, String color) {
      super(x, y);
      this.color = color;
   }
   public void setXY(int x, int y){
         move(x, y);
   }
   public void setColor(String color){
      this.color = color;
   }
   public String toString() {
      String tmp = color+"색의"+" ("+getX()+","+getY()+")의 점";
      return tmp;
   }
}
코드를 입력하세요

0개의 댓글