사용자로부터 원의 반지름을 입력받아 원의 둘레와 면적을 각각 계산하여 출력하는 프로그램
<참고>
원의 둘레 : 2 * 3.14 * 반지름
원의 면적 : 3.14 * 반지름 * 반지름
<코드>
import java.util.Scanner;
class circle{
public static void main(String []args){
Scanner sc = new Scanner(System.in);
double radius;
System.out.print("원의 반지름?");
radius = sc.nextDouble();
System.out.print("원의 둘레 : " + ( 2 * 3.14 * radius));
System.out.print("원의 면적 : " + ( 3.14 * radius * radius));
}
}
<위의 코드에서 소수이하 2자리만 출력하는 방법>
** APIs 에서 찾음
static string / format(String format, Object...args) 를 이용함
(위에 static 이 들어간것은 뒤에것(여기서는 String)을 클래스로 사용한다)
위의 코드에서
System.out.println("원의 둘레값은 " + String.format("형식지정문자", 값) );
System.out.println("원의 둘레값은 " + String.format("형식지정문자", 2*3.14*circle) );
System.out.println("원의 둘레값은 " + String.format("%.2f", 2*3.14*circle) );
(세번째 .2가 있는것은 소수점2자리까지 해달라는 말임)
(세번째 %는 실수를 의미함)
System.out.println("원의 면적값은 " + String.format("%.2f", 3.14*circle*circle));
(이것도 같은방법을 한것임)
이렇게 바뀜(같은것임)
//
<수학관련 코드>
System.out.println("원의 둘레값은 " + String.format("%.2f", 2*3.14*circle) );
System.out.println("원의 둘레값은 " + String.format("%.2f", 2*Math.PI*circle) );
위에것과 밑에것이 바뀐것은 3.14 대신 Math.PI 를 사용했으며 M을 대문자로 해야함
//
** 자료형(용량)이 다른 것끼리 연산하면 결과값은 그 중 용량이 더 큰 자료형이 된다
ex) int 와 byte을 연산하면 그 결과는 int 가 된다
<자료형 다른 예제>
int radius = 5;
int r = 2 * 3.14 * radius;
System.out.println(r);
이것은 에러가 발생한다.
int 인 2 와 radius(5) /double 인 3.14 이기때문에
위에 것을 출력하려면
int radius = 5;
double r = 2 * 3.14 * radius;
System.out.println(r);
이렇게 바꿔야함
//
** 정수와 정수끼리 연산하면 결과는 정수이다. int 와 int 를 연산하면 그 결과는 int 이다
<정수끼리의 예제>
class TypeTest3{
public static void main(String []args){
int a = 5/2; //결과값 2
double b = 5/2; //결과값 2.5 가 아니다. 2.0이 나온다.
System.out.println(a);
System.out.println(b);
}
}
결과값이 저런 이유는 대입연산자 = 이것이 나오면 오른쪽을 먼저 계산한다. 그래서 저렇게 나온것이다.
그래서 밑에 것처럼 5 나 2 둘중 하나를 실수로 만들어야 한다.
class TypeTest3{
public static void main(String []args){
int a = 5/2; //결과값 2
double b = 5/2.0; //결과값 2.5 가 아니다. 2.0이 나온다.
System.out.println(a);
System.out.println(b);
}
}
<예제>
: 두 수 a를 b로 나눈 값을 출력하기
class TypeTest4{
public static void main(String[] args) {
// 첫번째방법
int a = 5;
int b = 2;
double c = a/b;
System.out.println(c);
// or
// 두번째방법
int a = 5;
int b = 2;
System.out.println(a/(double)b);
}
}
'JAVA > JAVA' 카테고리의 다른 글
자바 예제 - 자료형 : 자료형 double를 원하는 자리수만큼 출력하는 방법 (0) | 2016.06.12 |
---|---|
자바 예제 - 자료형 : 신체검사하는 프로그램 만들기 (0) | 2016.06.12 |
자바 예제 - 자료형 : 사용자로부터 문자열을 입력받아 입력한 문자열 중에 대문자 A의 개수를 출력하는 프로그램 만들어보기 (0) | 2016.06.12 |
자바 기본 문법 2. 자료형 (0) | 2016.06.12 |
자바 예제 - 식별자와 예약어 : 사용자로부터 이름, 나이, 주소를 입력받아 정보를 출력하는 프로그램을 작성 (0) | 2016.06.12 |