ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 8일 차 중간점검(생성자)
    삼성SDS_멀티캠퍼스/Java 2015. 9. 16. 14:59
    반응형

    import java.util.Scanner;


    class Point {


    private int x;

    private int y;


    @Override

    public String toString() {

    return "Point [x=" + x + ", y=" + y + "]";

    }


    public int getX() {

    return x;

    }


    public void setX(int x) {

    this.x = x;

    }


    public int getY() {

    return y;

    }


    public void setY(int y) {

    this.y = y;

    }


    public Point() {


    x = 10;

    y = 20;

    }


    public Point(int num, int num2) {


    Scanner scan = new Scanner(System.in);


    System.out.println("x 좌표 정보를 입력하세요");

    num = scan.nextInt();

    System.out.println("y 좌표 정보를 입력하세요");

    num2 = scan.nextInt();


    setPoint(num, num2);


    }


    public void setPoint(int i, int j) {

    this.x = i;

    this.y = j;


    }


    }





    public class Test4 {

    public static void main(String[] args) {
    Point pt = new Point();
    Point pt2 = new Point(20,50);
    System.out.println(pt);
    System.out.println(pt2);
    }

    }












    ------------------------------------------------------------------------------------------------



    문제 : Circle 클래스 작성

    Circle 클래스는 상태정보로 원점의 좌표와 반지름의 크기를 가짐

    원점의 좌표는 만들어둔 Point자료형을 활용

    반지름의 크기는 정수로


    기본생성자/매개변수 받는 생성자
    접근자/설정자(getter/setter)
    toString 





    class Circle {

    private int radius; // 반지름
    private Point x; // Point 클래스의 좌표

    public int getRadius() {
    return radius;
    }

    public void setRadius(int radius) {
    this.radius = radius;
    }

    public Point getX() {
    return x;
    }

    public void setX(Point x) {
    this.x = x;
    }

    @Override
    public String toString() {
    return "Circle [radius=" + radius + ", x=" + x + "]";
    }

    public Circle() {

    radius = 3;
    x = new Point(3, 5);

    }

    public Circle(int radius, Point x) {

    setCircle(radius, x);
    }

    public void setCircle(int radius, Point x) {

    this.radius = radius;
    this.x = x;

    }

    }



    import java.util.Scanner;

    public class Test5 {

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);
    int i, j;

    System.out.println("x좌표 값을 입력하세요");
    i = scan.nextInt();
    System.out.println("y좌표 값을 입력하세요");
    j = scan.nextInt();

    Point x = new Point(i, j);

    Circle cir = new Circle();
    Circle cir2 = new Circle(51, x);

    System.out.println(cir);
    System.out.println(cir2);

    }

    }

















    응용하면 이것도 가능하다




    ===============================================

    import java.util.Scanner;

    public class Test5 {

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);
    int i, j;

    System.out.println("x좌표 값을 입력하세요");
    i = scan.nextInt();
    System.out.println("y좌표 값을 입력하세요");
    j = scan.nextInt();

    Point x = new Point(i, j);

    Circle cir = new Circle();
    Circle cir2 = new Circle(51, x);

    // cir2.setX(new Point(5,7)); // Circle의 객체인 cir2를 불러내고 cir2의 Point 객체인
      // x를 불러내서 매개변수를 5,7로 설정

    System.out.println(cir);
    System.out.println(cir2);
    System.out.println();

    cir2.getX().setX(20); // cir2의 Point 객체인 x를 읽어와서 x의 값을 20으로 세팅
    cir2.getX().setY(50); // cir2의 Point 객체인 x를 읽어와서 y의 값을 50으로 세팅
    x.setX(100);  // Point의 객체인 x에 매개변수인 x를 100으로 세팅
    System.out.println(cir);
    System.out.println(cir2);
    System.out.println();

    cir2.getX().setX(30); // cir2의 Point 객체인 x를 읽어와서 x의 값을 30으로 세팅
    System.out.println(cir);
    System.out.println(cir2);

    }

    }







    출처: 삼성SDS멀티캠퍼스 
    강사: 홍승길
    Email : iccack70@gmail.com

















    반응형
Designed by Tistory.