Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 환경설정
- 컬렉션 타입
- 생성자오버로드
- 객체 비교
- 추상메서드
- GRANT VIEW
- 사용자예외클래스생성
- 자동차수리시스템
- 한국건설관리시스템
- abstract
- 예외미루기
- cursor문
- 제네릭
- 다형성
- EnhancedFor
- 자바
- 집합_SET
- exception
- 인터페이스
- 대덕인재개발원
- 정수형타입
- oracle
- 메소드오버로딩
- 오라클
- 컬렉션프레임워크
- 참조형변수
- 어윈 사용법
- Java
- 예외처리
- NestedFor
Archives
- Today
- Total
거니의 velog
230729 자바 과제 _ 클래스 다이어그램 구현 본문
[Point.java]
package ddit.chap07.point.vo;
public class Point {
private int x;
private int y;
public Point() {}
public Point(int x, int y) {
this.x = x;
this.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;
}
@Override
public String toString() {
return "(x : " + x + ", y : " + y + ")";
}
}
[Circle.java]
package ddit.chap07.point.vo;
public class Circle extends Point {
private int radius;
public Circle() {}
public Circle(int x, int y, int radius) {
super(x, y);
this.radius = radius;
}
public int getRadius() {
return radius;
}
public void setRadius(int radius) {
this.radius = radius;
}
@Override
public String toString() {
return super.toString() + " 좌표의 반지름 " + radius + "cm";
}
}
[Rectangle.java]
package ddit.chap07.point.vo;
public class Rectangle extends Point {
private int width;
private int height;
public Rectangle() {}
public Rectangle(int x, int y, int width, int height) {
super(x, y);
this.width = width;
this.height = height;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
@Override
public String toString() {
return super.toString() + " 좌표의 밑변 " + width + "cm, 높이 " + height + "cm";
}
}
[CircleController.java]
package ddit.chap07.point.controller;
import ddit.chap07.point.vo.Circle;
public class CircleController {
private Circle c = new Circle();
// 원의 넓이 메서드
public String calcArea(int x, int y, int radius) {
c.setX(x);
c.setY(y);
c.setRadius(radius);
int area = (int)((c.getRadius() * c.getRadius()) * 3.1415926);
return c.toString() + " 인 원의 넓이는 " + area + "㎠ 입니다.";
}
// 원의 둘레 메서드
public String calcCircum(int x, int y, int radius) {
c.setX(x);
c.setY(y);
c.setRadius(radius);
int circum = (int)(2 * 3.1415926 * c.getRadius());
return c.toString() + " 인 원의 둘레는 " + circum + "cm 입니다.";
}
}
[RectangleController.java]
package ddit.chap07.point.controller;
import ddit.chap07.point.vo.Rectangle;
public class RectangleController {
private Rectangle r = new Rectangle();
// 사각형의 넓이 메서드
public String calcArea(int x, int y, int width, int height) {
r.setX(x);
r.setY(y);
r.setWidth(width);
r.setHeight(height);
int area = (r.getWidth() * r.getHeight());
return r.toString() + " 인 사각형의 넓이는 " + area + "㎠ 입니다.";
}
// 사각형의 둘레 메서드
public String calcPerimeter(int x, int y, int width, int height) {
r.setX(x);
r.setY(y);
r.setWidth(width);
r.setHeight(height);
int perimeter = (r.getWidth() + r.getHeight()) * 2;
return r.toString() + " 인 사각형의 둘레는 " + perimeter + "cm 입니다.";
}
}
[PointMenu.java]
package ddit.chap07.point.view;
import java.util.Scanner;
import ddit.chap07.point.controller.CircleController;
import ddit.chap07.point.controller.RectangleController;
public class PointMenu {
private Scanner sc = new Scanner(System.in);
private CircleController cc = new CircleController();
private RectangleController rc = new RectangleController();
public void mainMenu() {
System.out.println("====[메뉴]====");
System.out.println("1. 원 메뉴 2. 사각형 메뉴 3. 프로그램 종료");
System.out.print("입력 >> ");
int view = Integer.parseInt(sc.nextLine());
PointMenu pm = new PointMenu();
while(true) {
switch(view) {
case 1 :
pm.circleMenu();
break;
case 2 :
pm.rectangleMenu();
break;
case 3 :
System.out.println("프로그램을 종료합니다.");
System.exit(0);
default:
System.out.println("잘못 입력하셨습니다.");
pm.mainMenu();
}
}
}
public void circleMenu() {
System.out.println("====[무엇이 궁금하세요?]====");
System.out.println("1. 원의 둘레 2. 원의 넓이 3. 뒤로 돌아가기");
System.out.print("입력 >> ");
int view = Integer.parseInt(sc.nextLine());
PointMenu pm = new PointMenu();
while(true) {
switch(view) {
case 1 :
pm.calcCircum();
break;
case 2 :
pm.calcCircleArea();
break;
case 3 :
pm.mainMenu();
break;
default:
System.out.println("잘못 입력하셨습니다.");
pm.circleMenu();
}
}
}
public void rectangleMenu() {
System.out.println("====[무엇이 궁금하세요?]====");
System.out.println("1. 사각형의 둘레 2. 사각형의 넓이 3. 뒤로 돌아가기");
System.out.print("입력 >> ");
int view = Integer.parseInt(sc.nextLine());
PointMenu pm = new PointMenu();
while(true) {
switch(view) {
case 1 :
pm.calcPerimeter();
break;
case 2 :
pm.calcRectArea();
break;
case 3 :
pm.mainMenu();
break;
default:
System.out.println("잘못 입력하셨습니다.");
pm.rectangleMenu();
}
}
}
public void calcCircum() {
System.out.print("x좌표 입력 >> ");
int x = Integer.parseInt(sc.nextLine());
System.out.print("y좌표 입력 >> ");
int y = Integer.parseInt(sc.nextLine());
System.out.print("반지름 입력 >> ");
int radius = Integer.parseInt(sc.nextLine());
System.out.println(new CircleController().calcCircum(x, y, radius));
new PointMenu().mainMenu();
}
public void calcCircleArea() {
System.out.print("x좌표 입력 >> ");
int x = Integer.parseInt(sc.nextLine());
System.out.print("y좌표 입력 >> ");
int y = Integer.parseInt(sc.nextLine());
System.out.print("반지름 입력 >> ");
int radius = Integer.parseInt(sc.nextLine());
System.out.println(new CircleController().calcArea(x, y, radius));
new PointMenu().mainMenu();
}
public void calcPerimeter() {
System.out.print("x좌표 입력 >> ");
int x = Integer.parseInt(sc.nextLine());
System.out.print("y좌표 입력 >> ");
int y = Integer.parseInt(sc.nextLine());
System.out.print("가로 입력 >> ");
int width = Integer.parseInt(sc.nextLine());
System.out.print("세로 입력 >> ");
int height = Integer.parseInt(sc.nextLine());
System.out.println(new RectangleController().calcPerimeter(x, y, width, height));
new PointMenu().mainMenu();
}
public void calcRectArea() {
System.out.print("x좌표 입력 >> ");
int x = Integer.parseInt(sc.nextLine());
System.out.print("y좌표 입력 >> ");
int y = Integer.parseInt(sc.nextLine());
System.out.print("가로 입력 >> ");
int width = Integer.parseInt(sc.nextLine());
System.out.print("세로 입력 >> ");
int height = Integer.parseInt(sc.nextLine());
System.out.println(new RectangleController().calcArea(x, y, width, height));
new PointMenu().mainMenu();
}
}
[Run.java]
package ddit.chap07.point.run;
import ddit.chap07.point.view.PointMenu;
public class Run {
public static void main(String[] args) {
new PointMenu().mainMenu();
}
}
'대덕인재개발원 > 대덕인재개발원_Java' 카테고리의 다른 글
230801 자바 강의 (0) | 2023.08.01 |
---|---|
230731 자바 강의 (0) | 2023.07.31 |
230728 자바 강의 (0) | 2023.07.29 |
230727 자바 강의 (0) | 2023.07.29 |
230726 자바 강의 (0) | 2023.07.26 |