2017년 12월 1일 금요일

JAVA 실습) 반지름 입력받아 원의 넓이와 둘레 출력

3가지 방법이 있다.
1) 바로 main 안에서 구현

import java.util.Scanner;

public class MyMathTest {

public static void main(String[] args) {
int radius;
final double PI = 3.14;
double area, round;
Scanner sc = new Scanner(System.in);

System.out.print("반지름 입력: ");
radius = sc.nextInt();

area = radius * radius * PI;
round = 2 * PI * radius;

System.out.printf("원의 넓이=%.1f\n 원의 둘레길이=%.1f\n", area, round);

}

}

2) 절차지향프로그래밍 (C언어 스타일)
import java.util.Scanner;

public class MyMathTest {

public static void main(String[] args) {
int radius;
double area, round;
Scanner sc = new Scanner(System.in);
System.out.print("반지름 입력: ");
radius = sc.nextInt();
area = calArea(radius);
round = calRound(radius);
System.out.printf("원의 넓이=%.1f\n원의 둘레길이=%.1f\n", area, round);

}
static double calArea(int r) {
final double PI = 3.14;
return r*r*PI;
}
static double calRound(int r) {
final double PI = 3.14;
return 2*PI*r;
}

}

3) 객체지향프로그래밍

1. 추상화


상태(필드, 속성) : 반지름

동작 : 넓이, 둘레길이

2. UML

Cricle
---------------------------------
- radius : int
+ calArea() : double
+ calRound() : double
+ setRadius(int r) : void
+ toString() : String
---------------------------------

3. UML을 토대로 클래스 생성

public class Circle {
int radius;
static final double PI = 3.14;
public double calArea() { // 필드에 r이 있으니 매개변수가 따로 필요없다. 객체지향의 장점이다. 전달값을 줄일수가있따
return radius*radius*PI;
}
public double calRound() {
return 2*PI*radius;
}
public void setRadius(int r) {
radius = r;
}
public String toString() {
return "Circle[radius="+ radius+ "]";
}

}

4. 객체를 이용해 완성
import java.util.Scanner;

public class MyMathTest {

public static void main(String[] args) {
int radius;
double area, round;
Scanner sc = new Scanner(System.in);
Circle myCircle = new Circle();
System.out.print("반지름 입력: ");
radius = sc.nextInt();
myCircle.setRadius(radius);
area = myCircle.calArea();
round = myCircle.calRound();
System.out.printf("원의 넓이=%.1f\n원의 둘레길이=%.1f\n", area, round);
System.out.println(myCircle);

}

}

댓글 없음:

댓글 쓰기

시스템 보안

1. 내컴퓨터는 해킹이 당한적 있는가? 있다. 2. 컴퓨터를 하게되면 해킹을 당한다. 무엇을 이용해 해킹을 하는가? 인터넷이 가장 보편적. 사회적인 공격(주변인이 사전정보를 가지고 해킹) 3. 대응을 어떻게 해야하나? 보안프로...