1. 실습 2개를 입력받아 산술연산하세요(+, - , * , /, %)
Scanner sc = new Scanner(System.in); //스캐너 생성 System.out.print("정수1: "); int num1 = sc.nextInt(); //정수1을 num1에 저장 System.out.print("정수2: "); int num2 = sc.nextInt(); //정수2를 num2에 저장 while(true){ System.out.print("원하는 연산을 입력해주세요[+, -, *, /] : "); String choice = sc.next(); if(choice.equals("+")) { System.out.println(num1+"+"+num2+" = "+(num1+num2)); }else if(choice.equals("-")) { System.out.println(num1+"-"+num2+" = "+(num1-num2)); }else if(choice.equals("*")) { System.out.println(num1+"*"+num2+" = "+(num1*num2)); }else if(choice.equals("/")) { System.out.println(num1+"/"+num2+" = "+(num1/num2)); }else { //정해진 연산기호 외의 입력시 반복문 break; System.out.println("잘못된 연산기호입니다. 종료합니다."); break; } } |
2. 동전교환 프로그램
입력된 액수만큼 500원, 100원 50원 10원짜리 동전으로 교환해 주는 프로그램을 작성
조건 ) 동전의 총개수는 최소화한다, 고액의 동전을 우선적으로 교환해 준다.
Scanner sc = new Scanner(System.in); //스캐너 생성 int result; System.out.print("금액입력: "); int money = sc.nextInt(); //액수를 입력받을 변수 if(money >= 500) { //money가 500이상일 경우 result = money/500; //money를 500으로 나눈 몫을 result에 초기화 System.out.println("500원 ==> "+result+"개"); money %= 500; //money를 500으로 나눈 나머지(잔돈)을 money에 초기화 및 저장 } if(money >= 100) { //money가 100이상일 경우 result = money/100; //money를 100으로 나눈 몫을 result에 초기화 System.out.println("100원 ==> "+result+"개"); money %= 100; //money를 100으로 나눈 나머지(잔돈)을 money에 초기화 및 저장 } if(money >= 50) { //money가 50이상일 경우 result = money/50; //money를 50으로 나눈 몫을 result에 초기화 System.out.println("50원 ==> "+result+"개"); money %= 50; //money를 50으로 나눈 나머지(잔돈)을 money에 초기화 및 저장 } if(money >= 10) { //money가 10이상일 경우 result = money/10; //money를 50으로 나눈 몫을 result에 초기화 System.out.println("10원 ==> "+result+"개"); money %= 10; //money를 10으로 나눈 나머지(잔돈)을 money에 초기화 및 저장 } if(money > 0) { //money에 1원단위의 금액이 남아있을 경우 System.out.println("바꾸지 못한 잔돈 ==> "+money+"원"); } |
3. 윤년계산프로그램
조건) 윤년은 4로 나누어 떨어지고 100으로 나누어 떨어지지 않으면 윤년이다, 40으로 나누어 떨어지는 해도 윤년에 포함된다.
Scanner sc = new Scanner(System.in); //스캐너 생성 int year; while(true) { System.out.print("윤년인지 확인할 해를 입력[종료 0]: "); year = sc.nextInt(); //해를 입력받는다. 0 입력시 반복문 종료 if(year == 0) { System.out.println("입력 종료합니다."); break; }else if(year % 4 == 0 && year % 100 != 0) { //입력받은 해가 4의 배수이고 100의 배수가 아닌경우 System.out.println(year+"년(연)은 윤년입니다."); }else if(year % 400 == 0) { //입력받은 해가 400의 배수인 경우 System.out.println(year+"년(연)은 윤년입니다."); }else { //윤년이 아닌 경우 System.out.println(year+"년(연)은 윤년이 아닙니다."); } } |
3. 표준 입력으로 두 실수를 입력 받아 합, 평균을 구하여 출력하는 프로그램, 합과 평균 모두 실수로 출력
Scanner sc = new Scanner(System.in); //스캐너 생성 double num1, num2; while(true) { System.out.print("실수 1 입력: "); num1 = sc.nextDouble(); //실수1 입력 System.out.print("실수 2 입력: "); num2 = sc.nextDouble(); //실수2 입력 double dSum = num1+num2; //실수1과 실수2의 합을 dSum에 넣는다. double dAvg = dSum/2; //평균을 dAvg에 넣는다. System.out.println(num1+"과 "+num2+"의 합: "+dSum+" 평균: "+dAvg);
System.out.print("계속하시겠습니까? (Y/N): "); String con = sc.next(); if(con.equals("y") || con.equals("Y")) { continue; }else if(con.equals("n") || con.equals("N")) { System.out.println("종료합니다."); break; }else { System.out.println("잘못된 입력입니다. 종료합니다."); break; } } |
4. 표준 입력으로 두 실수를 모두 정수로 변환하여 합과 평균 모두 실수로 출력
Scanner sc = new Scanner(System.in); //스캐너 생성 double dNum1, dNum2; int num1, num2; while(true) { System.out.print("실수1 입력: "); dNum1 = sc.nextDouble(); //실수1 입력 System.out.print("실수2 입력: "); dNum2 = sc.nextDouble(); //실수2 입력 num1 = (int)dNum1; //실수1을 int형으로 형변환하여 num1에 저장 (강제 형변환) num2 = (int)dNum2; //실수2을 int형으로 형변환하여 num2에 저장 (강제 형변환) System.out.println("정수로 변환한 두 수의 합: "+((num1+num2)*1.0)+" 곱: "+((num1+num2)/2.0)); //실수형으로 출력하기 위해 연산 후에 *, / 연산을 실수로 (자동 형변환) System.out.print("계속하시겠습니까? (Y/N): "); String con = sc.next(); if(con.equals("y") || con.equals("Y")) { continue; }else if(con.equals("n") || con.equals("N")) { System.out.println("종료합니다."); break; }else { System.out.println("잘못된 입력입니다. 종료합니다."); break; } } |
5. 무게의 단위인 킬로그램(kg)을 소수로 입력 받아 파운드로 계산하여 소수점 3자리까지 출력하는 프로그램을 작성하시오.
1파운드는 0.453592킬로그램
Scanner sc = new Scanner(System.in); //스캐너 생성 double pound = 0.453592; //1파운드의 kg값 변수에 저장 double kg; while(true) { System.out.print("파운드로 단위 변환할 kg입력[실수]: "); kg = sc.nextDouble(); //kg값 입력 double rPound = kg / pound; //입력받은 kg값을 파운드로 변환하여 rPound에 저장 System.out.printf("결과값: %.3f \n", rPound);
System.out.print("계속하시겠습니까? (Y/N): "); String con = sc.next(); if(con.equals("y") || con.equals("Y")) { continue; }else if(con.equals("n") || con.equals("N")) { System.out.println("종료합니다."); break; }else { System.out.println("잘못된 입력입니다. 종료합니다."); break; } } |
6. 문자 하나와 온도를 실수형을 입력 받아 문자가 F나 f이면 입력받은 값을 화씨로 간주하여 섭씨로 바꾸고, 입력 받은 문자가 C나 c이면 입력받은 값을 섭씨로 간주하여 화씨로 바꿔 결과를 출력하는 프로그램을 작성하시오.
F = (9.0 / 5.0 ) * C + 32
C = (5.0 / 9.0 ) * (F - 32)
Scanner sc = new Scanner(System.in); //스캐너 생성 double num1; String fc; while(true) { System.out.print("화씨: F / 섭씨: C : "); fc = sc.next(); //화씨인지 섭씨인지 입력 System.out.print("변환할 온도: "); num1 = sc.nextDouble(); //온도 입력
if(fc.equals("F") || fc.equals("f")) { System.out.println("섭씨로 변환한 값: "+((5.0 / 9.0 ) * (num1 - 32))); }else if(fc.equals("C") || fc.equals("c")) { System.out.println("화씨로 변환한 값: "+((9.0 / 5.0 ) * num1 + 32)); }else { System.out.println("잘못된 입력입니다."); }
System.out.print("계속하시겠습니까? (Y/N): "); String con = sc.next(); if(con.equals("y") || con.equals("Y")) { continue; }else if(con.equals("n") || con.equals("N")) { System.out.println("종료합니다."); break; }else { System.out.println("잘못된 입력입니다. 종료합니다."); break; } } |
7. 천만 이하의 정수 하나를 입력 받아 우리가 사용하는 단위인 만, 천, 백, 십, 일 단위로 출력하는 프로그램을 작성하시오.
즉, 입력이 2347653이면 "234만 7천 6백 5십 3입니다."로 출력하세요.
Scanner sc = new Scanner(System.in); //스캐너 생성 int num1; System.out.print("천만 이하의 정수 입력: "); num1 = sc.nextInt(); if(num1<=10000000) { //천만 이하일 경우 if(num1 >= 10000) { //10000 이상일 경우 System.out.print(num1 / 10000+"만 "); //10000단위를 출력 num1 %= 10000; //10000으로 나눈 나머지를 num1에 저장 } if(num1 >= 1000) { //1000 이상인 경우 System.out.print(num1 / 1000+"천 "); //1000단위를 출력 num1 %= 1000; //1000으로 나눈 나머지를 num1에 저장 } if(num1 >= 100) { //100 이상인 경우 System.out.print(num1 / 100+"백 "); //100단위를 출력 num1 %= 100; //100으로 나눈 나머지를 num1에 저장 } if(num1 >= 10) { //10 이상인 경우 System.out.print(num1 / 10+"십 "); //10단위를 출력 num1 %= 10; //10으로 나눈 나머지를 num1에 저장 } if(num1 >= 1) { //1 이상인 경우 System.out.print(num1); //1단위를 출력 } }else { //천만을 초과할 경우 System.out.println("입력한 수가 천만을 넘습니다."); } |
8. 조건연산자를 이용하여 임의의 달을 입력받아, 이달이 상반기이면 "상반기입니다"를 하반기이면 "하반기 입니다"를 출력하는 프로그램을 작성하시오.
Scanner sc = new Scanner(System.in); //스캐너 생성 int month; System.out.print("상/한반기 구별할 월 입력[정수]: "); month = sc.nextInt(); //월 입력받음 if(month >= 7 && month <= 12) { //7~12월일 경우 System.out.println(month+"월은 하반기입니다."); }else if(month >= 1 && month <= 6) { //1~6월일 경우 System.out.println(month+"월은 상반기입니다."); }else { //1~12월이 아닌 경우 System.out.println("월은 1월부터 12월까지 있습니다."); } |
9. 네수를 입력받아 가장 큰 수를 구하는 프로그램을 조건 연산자를 이용하여 작성하시오.
Scanner sc = new Scanner(System.in); //스캐너 생성 int num1, num2, num3, num4, result; System.out.print("비교할 정수1 입력: "); num1 = sc.nextInt(); //정수1 입력 System.out.print("비교할 정수2 입력: "); num2 = sc.nextInt(); //정수2 입력 System.out.print("비교할 정수3 입력: "); num3 = sc.nextInt(); //정수3 입력 System.out.print("비교할 정수4 입력: "); num4 = sc.nextInt(); //정수4 입력 if(num1 > num2 && num1 > num3 && num1 > num4) { //num1이 나머지 세 수보다 큰 경우 result = num1; }else if(num2 > num3 && num2 > num4){ //num2가 num1을 제외한 나머지 두 수보다 큰 경우 result = num2; }else if(num3 > num4) { //num3가 num1과 num2를 제외한 num4보다 큰 경우 result = num3; }else { //이외의 경우 result = num4; } System.out.println("가장 큰 수는 "+result+"입니다."); |
10. 표준 입력으로 키와 몸무게를 실수로 입력 받아 다음 조건을 이용하여 정상인지, 비만인지 출력하는 프로그램을 작성하시오.
몸무게 <= (키 - 100) * 0.9 이면 정상 아니면 비만
Scanner sc = new Scanner(System.in); //스캐너 생성 int stature, weight; System.out.print("키 입력: "); stature = sc.nextInt(); //키 입력 System.out.print("몸무게 입력: "); weight = sc.nextInt(); //몸무게 입력 if(weight <= (stature - 100)*0.9) { System.out.println("정상체중입니다."); }else { System.out.println("비만입니다."); } System.out.println(); |
11. 초를 입력받아 시 분 초로 계산하여 출력하는 프로그램
예) 계산할 초는? 12345
Scanner sc = new Scanner(System.in); //스캐너 생성 int time, hour, minute, sec; System.out.print("초 입력: "); time = sc.nextInt(); //입력받은 초를 time에 저장 sec = time % 60; //분 단위로 나눈 나머지(초 단위)를 sec에 저장 time /= 60; //초 단위를 제외한 분 단위만 time에 저장 minute = time % 60; //시 단위로 나눈 나머지(분 단위)를 minute에 저장 hour = time / 60; //분 단위를 제외한 시 단위를 hour에 저장 System.out.println(hour+"시간 "+minute+"분 "+sec+"초"); System.out.println(); |
12. 534자루의 연필을 30명의 학생들에게 똑같은 개수로 나누어 줄 때, 학생당 몇개를 가질 수 있고 최종적으로 몇개가 남는지 구하는 프로그램
Scanner sc = new Scanner(System.in); //스캐너 생성 int pen; System.out.print("연필의 개수 입력"); pen = sc.nextInt(); //연필의 개수 입력 System.out.println("학생당 연필의 개수: "+(pen/30)+" 남은 연필의 개수: "+(pen % 30)); //연필을 30으로 나눈 몫 (학생당 연필의 개수), 연필을 30으로 나눈 나머지 (남은 연필의 개수) |
13. 십의 자리 이하를 버리는 코드 예를 들면 356이며 300이 나올 수 있도록 하는 프로그램
Scanner sc = new Scanner(System.in); //스캐너 생성 int num1, num2; System.out.print("십의 자리 이하를 버릴 숫자 입력: "); num1 = sc.nextInt(); // 숫자1 입력 num2 = (num1/100) * 100; //입력받은 숫자를 100으로 나눠 100단위만 남긴 후 100을 곱해 1~99를 삭제 System.out.println(num1+"의 십의자리 이하를 버리면 "+num2+"입니다."); |
'Java & Kotlin > Java' 카테고리의 다른 글
[Java] 크롤링 crawling, 셀레니움 Selenium (0) | 2021.02.22 |
---|---|
20.11.09 - 배열 예제 (0) | 2021.01.19 |
20.11.04 - 반복문 예제 (0) | 2021.01.19 |
16. 상속 (extends, 오버라이드) (0) | 2021.01.19 |
15. 싱글톤 (Singleton) (0) | 2021.01.19 |
14. 접근제한자(public, protected, private, default), getter, setter (0) | 2021.01.19 |