-
[Java] Just JAVA 3장 연습문제 풀이 및 해설 (실습 문제)서적 풀이/Just JAVA 2020. 4. 26. 19:36
1번. 두 개의 정수형 변수를 선언하고, 곱하기 결과를 출력하는 프로그램을 작성하라. 단, 출력문은 printf()문을 사용한다.
import java.util.Scanner; public class Quiz3_1 { public static void main(String[] args) { // TODO Auto-generated method stub int a, b; Scanner scan = new Scanner(System.in); a = scan.nextInt(); b = scan.nextInt(); System.out.printf("%d * %d = %d", a, b, a*b); scan.close(); } }
2번. 문자 'K'를 알파벳과 아스키 코드로 각각 출력하는 프로그램을 작성하라.
public class Quiz3_2 { public static void main(String[] args) { // TODO Auto-generated method stub byte a = 'K'; System.out.printf("알파벳 : %c\n아스키 코드 : %d", a, a); } }
3번. 현재 교통 카드에 잔액이 10,000원이고, 사용 금액만큼 차감하여 잔액이 부족할 때 '잔액이 부족해 교통카드를 사용할 수 없습니다!!' 메시지를 출력한 후 종료하는 프로그램을 작성하라. 교통카드 사용은 키보드 입력을 이용하고, 입력된 문자열의 숫자 변환은 Integer.parseInt("금액") 메서드를 사용한다.
import java.util.Scanner; public class Quiz3_3 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int busCard = 10000, useMoney; while(true) { System.out.println("잔액 : "+busCard); useMoney = Integer.parseInt(scan.next()); if(busCard - useMoney < 0) { System.out.println("잔액이 부족해 교통카드를 사용할 수 없습니다!!"); break; } busCard -= useMoney; } scan.close(); } }
4번. 다음 제휴 카드의 발급 조건 1, 2를 모두 만족하면 발급 가능 여부를 알려주는 프로그램을 작성하라. 연소득, 신용 등급과 신규, 기존 고객 여부는 키보드로 입력받는다.
발급 조건 1 (둘 중 하나 만족)
연소득 5,000만 원 이상 또는
신용 등급 B 이상
발급 조건 2
기존 고객
import java.util.Scanner; public class Quiz3_4 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int salary; String rating; boolean customer; salary = scan.nextInt(); rating = scan.next(); customer = scan.nextBoolean(); if((salary >= 5000 || rating.contentEquals("B") || rating.contentEquals("A"))||customer == true) { System.out.println("고객님께서는 제휴 카드 발급이 가능합니다."); } else { System.out.println("고객님께서는 제휴 카드 발급이 불가능합니다."); } scan.close(); } }
5번. 비밀번호를 보호하려고 간단한 암호화를 수행하는 프로그램을 작성하라. 키보드에서 네 자리로 된 숫자 비밀번호를 입력받으면 왼쪽으로 2비트씩 이동시켜 암호화된 결과를 출력한다.
import java.util.Scanner; public class Quiz3_5 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int pw; System.out.print("비밀번호를 입력해주세요 : "); pw = scan.nextInt(); pw = pw << 2; System.out.println("암호화된 숫자 입니다 : " + pw); scan.close(); } }
6번. 마트의 POS 시스템에서 판매 상품의 가격을 바코드로 읽어 총액을 계산하는 프로그램을 작성하라. 상품 가격은 키보드 입력으로 바코드 리딩을 대체하도록 한다. 상품 가격 대신 'q'를 입력하면 지금까지 입력 금액의 합을 출력하고 종료한다.
import java.util.Scanner; public class Quiz3_6 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String price; int sum = 0; while(true) { price = scan.next(); if(price.contentEquals("q")) break; sum += Integer.parseInt(price); } System.out.println("총 금액은 " + sum + "원 입니다!"); } }
7번. 간단한 가위바위보 게임 프로그램을 작성하라. 게임 구성은 다음 설명을 참고한다.
- 가위, 바위, 보는 각각 정수형 1, 2, 3으로 간주한다.
- 컴퓨터가 제시할 가위바위보 데이터를 만든다. 다섯 개의 정수를 저장할 수 있는 배열을 만들고 1, 2, 3 데이터를 섞어 초기화한다.
- 게임은 총 5회 진행하며, 컴퓨터는 배열 안 데이터를 차례대로 출력하는 것으로 한다.
- 현재 횟수 / 총 횟수와 함께 입력 메시지를 출력한다.
- 키보드로 1,2,3 중 하나를 입력하고, 컴퓨터와 키보드로 입력한 값을 비교하여 누가 이겼는지 알려 준다.
- 게임을 종료하면 누가 이겼는지 표시한다.
import java.util.Random; import java.util.Scanner; public class Quiz3_7 { public static void main(String[] args) { // TODO Auto-generated method stub Random rand = new Random(); Scanner scan = new Scanner(System.in); int[] data = new int[5]; int user; for(int i = 0;i<5;i++) { data[i] = rand.nextInt(3)+1; } for(int i = 0;i<5;i++) { System.out.print("(가위 : 1 / 바위 : 2 / 보 : 3) : "); user = scan.nextInt(); if (user == data[i]) System.out.println((i+1) +"회 / 5회 : 무승부입니다."); else { if(user-data[i]==1 || user-data[i]==-2) { System.out.println((i+1) +"회 / 5회 : 당신이 이기셨습니다."); }else { System.out.println((i+1) +"회 / 5회 : 당신이 지셨습니다."); } } } scan.close(); } }
반응형'서적 풀이 > Just JAVA' 카테고리의 다른 글
[Java] Just JAVA 3장 연습문제 풀이 및 해설 (이론 문제 1번, 2번) (0) 2020.04.25