오늘은 자바 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);
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[알고리즘] 내림차순 구하기 (버블정렬) (0) | 2022.10.10 |
---|---|
자료구조와 알고리즘 (0) | 2022.02.26 |
배열의 중복값을 찾고 그 중 최댓값과 인덱스 번호 출력하기! (0) | 2022.01.09 |