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+ " 초 이다.");
		
		//출력함