프로그래밍/알고리즘

자바의 정석 연습문제 및 퀴즈 풀이(Chap3, Quiz)

나도 오늘부터 개발자?! 2021. 12. 18. 20:50

오늘은 자바 Chap.3의 연습문제와 학원에서 받은 Quiz문제를 풀어보았습니다!

문제를 고민하고 푸는데만 6시간 정도 걸렸네요 ㅜㅜ

다른 분들도 다양한 문제를 접해보면 좋을 거 같아 문제를 작성해 봅니다! 풀어보세요 

 

1. 다음 연산의 결과를 적으시오.

 

public class Quiz {

	public static void main(String[] args) {
		
        	int x = 2;
		int y = 5;
		char c = 'A';
		
		System.out.println(1 + x << 33);
		System.out.println(y >= 5 || x < 0 && x > 2);
		System.out.println(y += 10 - x++);
		System.out.println(x += 2);
		System.out.println(!('A' <= c && c <= 'z'));
		System.out.println('C' - c);
		System.out.println('5' - '0');
		System.out.println(c + 1);
		System.out.println(++c);
		System.out.println(c++);
		System.out.println(c);
        }
}

정답:

더보기

6
true
13
5
false
2
5
66
B
B
C

 

 

 

 

2. 다음 코드를 실행하면 출력되는 결괏값을 적으세요.

public class Quiz {

	public static void main(String[] args) {
    
		int a = 10;
		int b = 100;
		int c = (++a) + (--b);
		
		System.out.println("a: " + a + "b: " + b + "c: " + c);
		
		c = (a++) + (--b);
		
		System.out.println("a: " + a + "b: " + b + "c: " + c);
	}

}

정답:

더보기

a: 11b: 99c: 110
a: 12b: 98c: 109

 

 

 

 

3.  7명의 사람에게 90개의 사탕을 똑같은 개수로 나누어 줄 때 한 사람당 몇 개를 가지며, 몇 개가 남는가요? 실형 결과대로 나오게 코드를 작성하세요.

[실행결과]

한 사람당 갖는 사탕 개수: 12개

남는 사탕 개수: 6개

 

정답:

더보기

public class Quiz {

public static void main(String[] args) {
int candy = 90;
int per = 7;

System.out.println("한 사람당 갖는 사탕 개수: " + candy  / per + "개");
System.out.println("남는 사탕 개수: " + candy % per + "개") ;
             }

}

 

 

 

 

4. 사용자에게 양의 정수를 입력 받았을 때 십의 자리, 일의 자리를 버리는 코드를 작성하세요.

[실행결과]

숫자를 입력하세요.13
십의 자리와 일의 자리를 버린수: 0

숫자를 입력하세요.123
십의 자리와 일의 자리를 버린수: 100

숫자를 입력하세요.1234
십의 자리와 일의 자리를 버린수: 1200

 

정답:

더보기

import jaca.util.Scanner;

public class Quiz {

public static void main(String[] args) {
int num;
Scanner can = new Scanner(System.in);

 

System.out.print("숫자를 입력하세요.")

 

int shot = can.nextInt();

num = shot;

System.out.println("십의 자리와 일의 자리를 버린수: " + num / 100 * 100);

 

can.close();
             }

}

 

 

 

 

5. 사용자에게 숫자를 입력 받고 양수, 음수, 0을 판별하는 코드를 작성하세요.

(삼항연산자를 이용해 주세요)

[실행결과]

숫자를 입력하세요.1
양수 입니다.

숫자를 입력하세요.0
0 입니다.

숫자를 입력하세요.0
음수 입니다.

정답: 

더보기

import jaca.util.Scanner;

public class Quiz {

public static void main(String[] args) {
int num;
Scanner can = new Scanner(System.in);

 

System.out.print("숫자를 입력하세요.")

 

int shot = can.nextInt();

num = shot;

System.out.println((num > 0)? "양수 입니다." : (num == 0)? "0 입니다." : "음수 입니다.");
// System.out.println((num > 0)? "양수 입니다." : (num < 0)? "음수 입니다." : "0 입니다.");

 

can.close();
             }

}

 

 

 

 

6. 사용자에게 문자열을 입력 받는데 그 문자열이 java인 경우 "합격" 다른 문자열인 경우 "불합격"을 출력하는 코드를 작성하세요.

[실행결과]

문자를 입력하세요.java
합격

문자를 입력하세요.ja
불합격

정답:

더보기

import java.util.Scanner;

public class Qize {

public static void main(String[] args) {
String str;

 

Scanner can = new Scanner(System.in);

 

System.out.print("문자를 입력하세요.")

 

String shot = can.nextLine();
str = shot;

 

System.out.println(("java".equals(str)) ? "합격" : "불합격");


can.close();
             }

}

 

 

 

7. 사용자에게 숫자(0이상 15이하)를 입력 받고 그것을 2진수로 변환하는 코드를 작성하세요.

[실행결과]

2진수로 변환할 숫자를 입력해주세요.(0이상 15이하)1
0001

2진수로 변환할 숫자를 입력해주세요.(0이상 15이하)5
0101

2진수로 변환할 숫자를 입력해주세요.(0이상 15이하)15
1111

더보기

public class chap2 {

public static void main(String[] args) {

int input;

 

Scanner can = new Scanner(System.in);

System.out.print("2진수로 변환할 숫자를 입력해주세요.(0이상 15이하)");

input = can.nextInt();

System.out.println(Integer.toBinaryString(input));

can.close();
}
}

 

 

 

 

8. 아래는 변수 num의 값 중에서 백의 자리 이하를 버리는 코드이다. 만일 변수 num의 값이 '456'이라면 '400'이 되고, '111'이라면 '100'이 된다. (1)과(2)에 알맞은 코드를 넣으시오.

public class Quiz {

	public static void main(String[] args) {

		int num = 456;
		int num2 = 111;
		
		System.out.println( (1) );
		System.out.println( (2) );
        }
 }

정답:

더보기

System.out.println( num / 100 * 100);
System.out.println( num2 / 100 * 100);

 

 

 

 

9. 아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다. 만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을수 있다면, 13개의 바구니가 필요할 것이다. (1)에 알맞은 코드를 넣으시오.

public class Qize {

	public static void main(String[] args) {

			int numOfApples = 123;
			int sizeOfBucket = 10;
			int numOfBucket = ((?));
			
			System.out.println("필요한 바구니의 수 :" + numOfBucket);
	}

}

정답:

더보기

int numOfBucket = ((numOfApples % sizeOfBucket > 0 ? 1 : 0) + numOfApples / sizeOfBucket);