Java
[Java의 정석] Chapter4 연습문제
oneH
2024. 9. 13. 22:38
문제 4-4
1+(-2)+3+(-4)+ . . . 과 같은 식으로 계속 더해나갔을 때, 몇 번 더해야 총합 100이상이 되는가?
int sum = 0;
for (int i = 1; ; i++) {
if (i % 2 == 0) {
sum -= i;
} else {
sum += i;
}
if (sum >= 100) {
System.out.println("횟수는: " + i);
break;
}
}
문제 4-5
다음 for문을 while문으로 변경해라.
int i=0;
while(i<10){
int j=0;
while(j<i){
System.out.print("*");
j++;
}
System.out.println();
i++;
}
문제 4-6
두개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력해라.
int sum = 0;
int count = 0;
for (int i = 1; i <= 6; i++) {
for (int j = 1; j <= 6; j++) {
sum = i + j;
if (sum == 6) count++;
}
}
System.out.println("눈의 합이 6이 될 경우의 수는:" + count);
문제 4-7
숫자로 이루어진 문자열이 있을 때, 각 자리의 합을 더한 값을 출력해라.
예)"1234" => 1+2+3+4 = 10
String str = "12345";
int sum = 0;
for(int i=0; i<str.length();i++){
int strDivide = str.charAt(i)-48;
sum+=strDivide;
}
System.out.println("sum = " + sum);
문제 4-8
Math.random method를 이용해 1~6 사이의 임의의 정수를 변수에 저장해라.
int randomValue = (int)(Math.random()*6)+1;
System.out.println("randomValue = " + randomValue);
문제 4-9
int타입의 변수 num이 있을 때, 각 자리의 합을 더한 결과를 출력해라
예) 12345 => 1+2+3+4+5 = 15
int number = 12345;
int sum = 0;
for(int i=0; ; i++){
int plusAtSum = number%10;
sum+=plusAtSum;
number/=10;
if(number==0){
break;
}
}
System.out.println("sum = " + sum);
문제 4-10
숫자 맞히기 게임 1~100 사이의 임이의 값을 사용자가 맞추는 게임 맞히면 끝난다.
int answer = (int)(Math.random()*100)+1;
int input = 0;
int count = 0;
java.util.Scanner sc = new Scanner(System.in);
do{
count++;
System.out.print("1과 100사이의 값을 입력하세요 : ");
input = sc.nextInt();
if(answer==input){
System.out.println("맞혔습니다.");
System.out.println("시도는 "+count+"번입니다.");
break;
}else if(answer>input){
System.out.println("더 큰 수를 입력하세요.");
}else{
System.out.println("더 작은 수를 입력하세요.");
}
}while(true);
CHAPTER 4 전체 연습 문제 코드
🔐 코드
더보기
import java.util.Scanner;
public class Chapter4 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; ; i++) {
if (i % 2 == 0) {
sum -= i;
} else {
sum += i;
}
if (sum >= 100) {
System.out.println("횟수는: " + i);
break;
}
}
int i = 0;
while (i < 10) {
int j = 0;
while (j < i) {
System.out.print("*");
j++;
}
System.out.println();
i++;
}
int sum = 0;
int count = 0;
for (int i = 1; i <= 6; i++) {
for (int j = 1; j <= 6; j++) {
sum = i + j;
if (sum == 6) count++;
}
}
System.out.println("눈의 합이 6이 될 경우의 수는:" + count);
String str = "12345";
int sum = 0;
for (int i = 0; i < str.length(); i++) {
int strDivide = str.charAt(i) - 48;
sum += strDivide;
}
System.out.println("sum = " + sum);
int randomValue = (int) (Math.random() * 6) + 1;
System.out.println("randomValue = " + randomValue);
int number = 12345;
int sum = 0;
for (int i = 0; ; i++) {
int plusAtSum = number % 10;
sum += plusAtSum;
number /= 10;
if (number == 0) {
break;
}
}
System.out.println("sum = " + sum);
int answer = (int) (Math.random() * 100) + 1;
int input = 0;
int count = 0;
java.util.Scanner sc = new Scanner(System.in);
do {
count++;
System.out.print("1과 100사이의 값을 입력하세요 : ");
input = sc.nextInt();
if (answer == input) {
System.out.println("맞혔습니다.");
System.out.println("시도는 " + count + "번입니다.");
break;
} else if (answer > input) {
System.out.println("더 큰 수를 입력하세요.");
} else {
System.out.println("더 작은 수를 입력히세요.");
}
} while (true);
}
}