1. 입력받은 초를 시간으로 환산하는 코드를 작성하세요
입력 : 54321
15시간 5분 21초
package day05;
import java.util.Scanner;
public class Day05Q01 {
// 사용자가 입력한 초를 시간으로 환산하여 출력
public static void main(String[] args) {
// 사용자에게 초 입력 받기
System.out.println("입력 : ");
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
System.out.println(m/3600 +"시간");
System.out.println(m%3600/60 +"분");
System.out.println(m%3600%60%60 +"초");
}
}
2. 사용자가 입력한 숫자가 3의 배수인지 아닌지를 출력
if(value%3==0) {
}
----------------------------
숫자입력:6
6은 3의배수 입니다.
----------------------------
숫자입력:7
7은 3의배수가 아닙니다.
package day05;
import java.util.Scanner;
public class Day05Q02 {
// 사용자가 입력한 숫자가 3의 배수인지 아닌지 출력
public static void main(String[] args) {
System.out.println("숫자를 입력하세요 : ");
Scanner sc = new Scanner(System.in);
int value = sc.nextInt();
if(value%3 == 0) {
System.out.println(value+"은 3의 배수 입니다.");
} else {
System.out.println(value+"은 3의 배수가 아닙니다.");
}
}
}
3 . 사용자가 입력한 문자가 대문자인지 소문자인지 판단
hint)
1. 글자의 ASCII 값 <-- 2. A : 65 B :66 C:67 ... a : 97 b: 98 c:99 ... 3. 대소문자 ASCII 차이가 32 4. 문자변수에 대입 5. 출력
입력: a
a 는 소문자입니다.
입력: A
A 는 대문자입니다.
package day05;
import java.io.IOException;
public class Day05Q03 {
// 사용자가 입력한 문자가 대문자인지 소문자인지 판단
public static void main(String[] args) throws IOException {
System.out.println("문자를 입력하세요 : ");
int value = System.in.read();
if (value>=65 && value<=96) {
System.out.println((char)value+"는 대문자 입니다.");
} else {
System.out.println((char)value+"는 소문자 입니다.");
}
}
}
4. 1부터 100까지 정수를 출력 : 2의 배수를 ***
1
***
3
***
5
***
...
99
package day05;
// 1부터 100까지 정수를 출력 : 2의 배수는 ***
public class Day05Q04 {
public static void main(String[] args) {
for(int i = 1; i<=100; i++) {
if(i%2 == 0) {
System.out.println("***");
} else {
System.out.println(i);
}
}
}
}
5. 1부터 100까지의 짝수의 누적합을 구하는 코드를 작성하시요
[출력]
1부터 100까지사이의 짝수의 누적합은 XXXX입니다.
package day05;
// 1부터 100까지의 짝수의 누적합을 구하시오.
public class Day05Q05 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i<=100; i++) {
if(i%2 == 0) {
sum+= i;
}
}
System.out.println("1부터 100 까지의 짝수의 누적합은 "+ sum +"입니다.");
}
}
6. 입력받은 문자를 대소전환
--------------------------
입력: a
[출력]
a -> A
--------------------------
입력:A
[출력]
A -> a
--------------------------
hint)
// 1. 사용자로부터 문자 한 글자 읽어오기
// 2. 문자의 ASCII 코드 값 구하기
// 3. 이 문자가 소문자 인지 대문자인지 판별
// 4. 대문자 : 65 ~ 90 여기에 + 32 를 하면 소문자 ASCII
// 5. 소문자 : 97 ~ 122 사이 : - 32를 하면 대문자ASCII
// 6. 해당 ASCII의 문자를 화면에 출력
package day05quiz;
// 쌤 풀이
import java.io.IOException;
public class Day05Q3 {
public static void main(String[] args) throws IOException {
// 1. 사용자로부터 문자 1글자를 입력 받는ㄴ다.
System.out.println("입력 : ");
// 2. ASCII를 얻어 온다.
int value = System.in.read();
// 3. A:65 ~~ 90 ==> 대문자
// a:97 ~~ 122 ==> 소문자
System.out.println(value);
int result = 0; // 변환 후 문자의 ASCII code 값을 담을 변수
if (value >= 65 && value <= 90) {
result = value + 32;
} else if (value >=97 && value <=122) {
result = value -32;
}
System.out.println((char)value + " -> " + (char)result);
}
}
}
7. 12간지 (switch case 문으로 )
package day05;
import java.util.Scanner;
public class Day05Q07 {
// 사용자가 태어난 년도 입력하면 12간지 출력
public static void main(String[] args) {
System.out.println("태어난 년도 4자리 입력 : ");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
switch(year%12) {
case 4:
System.out.println("쥐띠");
break;
case 5:
System.out.println("소띠");
break;
case 6:
System.out.println("호랑이띠");
break;
case 7:
System.out.println("토끼띠");
break;
case 8:
System.out.println("용띠");
break;
case 9:
System.out.println("뱀띠");
break;
case 10:
System.out.println("말띠");
break;
case 11:
System.out.println("양띠");
break;
case 12:
System.out.println("원숭이띠");
break;
case 13:
System.out.println("닭띠");
break;
case 14:
System.out.println("개띠");
break;
case 15:
System.out.println("돼지띠");
break;
}
}
}
8. 잔돈교환기(큰 단위 화폐순으로 )
입력 : 67921
50000권 : 1매
10000권 : 1매
5000권 : 1매
1000권 : 2매
500권 : 1개
100권 : 4개
50권 : 0개
10권 : 2개
1원 : 1개
package day05quiz;
import java.util.Scanner;
public class Day05Q8 {
public static void main(String[] args) {
// 잔돈 교환기
// 1. 여러 자리 숫자를 입력 받는다.
Scanner sc = new Scanner(System.in);
System.out.println("입력 : ");
int money = sc.nextInt();
System.out.println("입력값 : " + money);
// 2. 화폐 단위로
int m50000 = money/50000; // 67921 / 50000 ==> 1
int m10000 = money&50000/10000; // 17921 / 10000 ==> 1
int m5000 = money%10000/5000; // 7921 / 5000 ==> 1
int m1000 = money%5000/1000; // 2921/1000 ==> 2
int m500 = money%1000/500; // 921/500 ===> 1
int m100 = money%500/100; // 421/100 ==> 4
int m50 = money%100/50; // 21/50 ==> 0
int m10 = money%50/10; // 21/10 ==> 2
int m1 = money%10/1; // 1/1 ==> 1
System.out.println("50000권 : " + m50000 + "매");
System.out.println("10000권 : " + m10000 + "매");
System.out.println("5000권 : " + m5000 + "매");
System.out.println("1000권 : " + m1000 + "매");
System.out.println("500원 : " + m500 + "개");
System.out.println("100원 : " + m100 + "개");
System.out.println("50원 : " + m50 + "개");
System.out.println("10원 : " + m10 + "개");
System.out.println("1원 : " + m1 + "개");
}
}
9. VendingMachine
-------------------------------------
1. 사용자로부터 숫자를 입력받는다.
동전을 입력하세요: 50000
1. 콜라 : 1200원
2. 사이다:1600원
3. 맥주 : 2500원
2. 메뉴를 선택하세요 : 2
3. 몇개? 3
4. 사이다 3개
잔돈 : 45200원입니다.
만원 : 4장
오천원 : 1장
백원 : 2개
package day05quiz;
// 쌤 풀이
import java.util.Scanner;
public class DayQ9 {
public static void main(String[] args) {
// 1. 사용자로부터 숫자를 입력 받는다.
Scanner sc = new Scanner(System.in);
System.out.println("동전을 입력하세요 : ");
int money = sc.nextInt();
// 2. 메뉴를 선택하게 한다.
System.out.println("1. 콜라 : 1200");
System.out.println("2. 사이다 : 1600");
System.out.println("3. 맥주 : 2500");
System.out.println("메뉴를 선택하세요 : ");
int menu = sc.nextInt();
// 3. 수량을 입력 받는다.
System.out.println("몇개? : ");
int cnt = sc.nextInt();
// System.out.println(money + ":" + menu + ":" + cnt);
// 4. 물건 가격을 계산한다.
int price = 0;
if(menu ==1) {
price = 1200*cnt;
System.out.println("콜라 "+cnt+"개");
} else if (menu == 2) {
price = 1600*cnt;
System.out.println("사이다 "+cnt+"개");
} else if (menu == 3) {
price = 2500*cnt; }
System.out.println("멕주 "+cnt+"개");
// 5. 입력받은 동전(돈) 에서 물건 가격을 차감한다.
// 6. 이때 물건 가격이 더 비싸면 잔액부족 메세지를 출력하고 동전은 반환한다.
// 7. 그렇지 않으면
// 물건 출력 메시지를 내보낸 후 잔돈을 반환한다.
if (money - price < 0) {
System.out.println("잔액이 부족합니다.");
System.out.println(money+"원을 반환합니다.");
} else {
money -= price;
System.out.println("잔돈 : "+money+"입니다.");
int m50000 = money/50000; // 67921 / 50000 ==> 1
int m10000 = money%50000/10000; // 17921 / 10000 ==> 1
int m5000 = money%10000/5000; // 7921 / 5000 ==> 1
int m1000 = money%5000/1000; // 2921/1000 ==> 2
int m500 = money%1000/500; // 921/500 ===> 1
int m100 = money%500/100; // 421/100 ==> 4
int m50 = money%100/50; // 21/50 ==> 0
int m10 = money%50/10; // 21/10 ==> 2
int m1 = money%10/1; // 1/1 ==> 1
if (m50000 > 0 ) System.out.println("50000권 : " + m50000 + "매");
if (m10000 > 0 )System.out.println("10000권 : " + m10000 + "매");
if (m5000 > 0 ) System.out.println("5000권 : " + m5000 + "매");
if (m1000 > 0 ) System.out.println("1000권 : " + m1000 + "매");
if (m500 > 0 ) System.out.println("500원 : " + m500 + "개");
if (m100 > 0 ) System.out.println("100원 : " + m100 + "개");
if (m50 > 0 ) System.out.println("50원 : " + m50 + "개");
if (m10 > 0 ) System.out.println("10원 : " + m10 + "개");
if (m1 > 0 )System.out.println("1원 : " + m1 + "개");
}
}
}