1. JAVA/1.2 실습
JAVA_02_실습_연산자
마느링
2022. 3. 14. 13:43
문제1 ]
두개의 숫자를 입력 받은 후(가로, 세로)
그 숫자를 이용해서 사각형의 넓이와 삼각형의 넓이를 구해서
사각형의 넓이 : 가로 X 세로
삼각형의 넓이 : 가로 X 세로 X(1/2)
결과를 출력하세요
출력 형식 ]
가로 : XXXX
세로 : XXXX
사각형 넓이 : XXXX
삼각형 넓이 : XXXX.X;
import java.util.*;
// 참고 ] 자바에서 *기호의 의미는,
// 연산자로서 곱하기의 의미
// 모든것을 의미.
public class Ex01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("가로 길이 입력 : ");
int width = sc.nextInt();
System.out.print("세로 길이 입력 : ");
int height = sc.nextInt();
System.out.println("세로 : "+height);
int sagak = width*height;
System.out.println("사각형의 넓이 : "+sagak);
double samgak = (width*height)/2f;
System.out.println("삼각형의 넓이 : "+samgak);
}
}
문제2 ]
하나의 숫자를 입력받은 후 (원의 반지름)
그 숫자를 이용해서 원의 넓이와 둘레를 계산하고 출력하세요
참고 ]
원의 넓이 : 반지름X반지름X3.14
원의 둘레 : 2* 반지름X3.14
public static void main(String[] args) {
// 할 일 ) 입력도구를 준비한다.
// System.in : 외부장치에 연결된 통로...(회선..?빨대..?)
// 내가 입력하는 순간 지나감....한번이라도 읽으면 사라짐
Scanner sc = new Scanner(System.in);
// 입력받기 전에 메세지 출력
System.out.print("반지름 : ");
// 입력받는다. 변수에 기억
int rad = sc.nextInt();
// 계산한다.
double pi = 3.14;
// 원의 넓이 계산 : 숫자데이터의 연산은 항상 큰 데이터 타입 쪽으로 결과가 나온다.
double area = rad*rad*pi;
// 원의 둘레 계산
double arround = 2*rad*pi;
//출력한다.
System.out.println("반지름 : "+rad);
System.out.println("넓 이 : "+area);
System.out.println("둘 레 : "+arround);
/*
참고 ]
형변환에서 큰 타입의 데이터를 작은타입으로 변환하면
남는 부분은 버린다.
*/
int intArea = (int)area;
System.out.println(intArea);
int intDulae = (int)arround;
System.out.println(intDulae);
}}
문제 3]
84232원을 지불하려고 한다.
우리나라 화폐단위별로 이 금액을 지불하려면 각 단위가 몇개씩 필요한지 계산해서 출력하세요.
화폐단위 : 50000원 , 10000원, 5000원, 1000원, 500원, 100원, 50원, 10원,1원 (필요없는것은 0개로 출력)
public static void main(String[] args) {
int total = 84232;
int tmp = total;
int money_50000 = (int)total/50000;
tmp %= 50000;
int money_10000 = (int)tmp/10000;
tmp %= 10000;
int money_5000 = (int)tmp/5000;
tmp %= 5000;
int money_1000 = (int)tmp/1000;
tmp %= 1000;
int money_500 = (int)tmp/500;
tmp %= 500;
int money_100 = (int)tmp/100;
tmp %= 100;
int money_50 = (int)tmp/50;
tmp %= 50;
int money_10 = (int)tmp/10;
tmp %= 10;
System.out.printf("오만원권 : %s장\n",money_50000);
System.out.printf("만원권 : %s장\n",money_10000);
System.out.printf("오천원권 : %s장\n",money_5000);
System.out.printf("천원권 : %s장\n",money_1000);
System.out.printf("오백원 : %s개\n",money_500);
System.out.printf("백원 : %s개\n",money_100);
System.out.printf("오십원 : %s개\n",money_50);
System.out.printf("십원 : %s개\n",money_10);
System.out.printf("일원 : %s개\n",tmp);
/*
int total = 84232;
int tmp = total;
int oman = tmp / 50000;
tmp %= 50000; //tmp를 50000으로 나눈 나머지를 tmp에 대입
int man = tmp/10000;
tmp %= 10000;
int ochun = tmp/5000;
tmp %= 5000;
int chun = tmp/1000;
tmp %= 1000;
int obeak = tmp/500;
tmp %= 500;
int back = tmp/100;
tmp %= 100;
int oship = tmp/50;
tmp = tmp%50;
int ship = tmp/10;
tmp = tmp%10;
//1
int il = tmp%10;
System.out.println("==========================");
System.out.println("총금액 : "+total+"원은");
System.out.println("오만원권 : "+oman+"장");
System.out.println("만원권 : "+man+"장");
System.out.println("오천원권 : "+ochun+"장");
System.out.println("천원권 : "+chun+"장");
System.out.println("오백원권 : "+obeak+"개");
System.out.println("백원권 : "+back+"개");
System.out.println("오십원권 : "+oship+"개");
System.out.println("십원권 : "+ship+"개");
System.out.println("일원권 : "+il+"개");
*/
}
}
문제4 ] 1년은 365.2426 일이다. 이것은 과연 몇일 , 몇시간 , 몇분, 몇초인지 계산하고 출력하시오
힌트 ]
365.2426일은 단위가 일 단위이다.
하루는 24시간이다.
따라서 0.5일은 12시간을 의미한다.
public static void main(String[]args) {
// 할 일
// 데이터 변수에 기록시키기
double total = 365.2426;
// 누적 계산될 변수 만들기
double tmp = total;
// 날 수 구하고 -> 누적 변수에 계산해서 업데이트
int day = (int)tmp;
tmp -= day;
//0.2426을 초로 변환.
//1 * 24 * 60 * 60
//0.5*24 => 하루의 절반시간
//0.1*24 => 0.1일의 시간
int tsec = (int)(0.2426*24*60*60);
// 시간 구하고 -> 누적 변수에 계산해서 업데이트
int hour = tsec/(60*60);
//몫이 시간이고 남은 나머지가 초, 분
tsec %=3600;
// 분 구하고 -> 누적 변수에 계산해서 업데이트
int minute = tsec/60;
tsec %= 60;
// 초 구한다.(초는 분 구한 나머지를 쓴다)
int sec = tsec;
System.out.println(" 1 년은 "+ total + "일 이고");
System.out.println(" 이 것은 "+ day + "일");
System.out.println(" "+ hour + "시간");
System.out.println(" "+ minute + "분");
System.out.println(" "+ sec+ " 초 이다.");
//출력함