카테고리 없음

자바 문제풀이(반복문)

Bordercolli 2024. 8. 30. 12:21
728x90

문제1. 1부터 시작해서 숫자를 계속 누적해서 더하다가 합계가 10보다 처음으로 큰 값은 얼마인가?

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int num=0, sum=0;
        while(true){
            sum+=num;
            if (sum>10){
                System.out.println(num+","+sum);
                break;
            }
            num++;
        }
    }
}

문제2. 1~5까지 숫자를 출력하는데 3일때는 출력을 건너뛴다.

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int num=1;
        while(num<=5){
            if (num==3){
                num++;
                continue;
            }
            System.out.println(num);
            num++;
        }
    }
}

 

문제3. i부터 하나씩 증가하는 수를 endNum(마지막 수)까지 더해라-> for문 사용

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int i, endnum=10, sum=0;
        for (i = 0; i <= endnum; i++) {
            sum+=i;
        }
        System.out.println(sum);
    }
}

 

문제4. 1부터 시작해서 숫자를 계속 누적해서 더하다가 합계가 10보다 처음으로 큰 값은 얼마인가?(for문 사용)

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int i, sum=0;
        for (i = 0; ; i++) { // i는 for문 안에서만 사용가능한 지역변수 
            sum+=i;
            if (sum>10)
                break; 
        }
        System.out.println(i);
}}

 

문제5. 자연수 출력

처음 10개의 자연수를 출력하는 프로그램, count라는 변수를 사용

while/  for  두 가지 버전의 정답

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int while_count=0;
        while (while_count<=10){
            System.out.println(while_count);
            while_count++;
        }

        for (int i = 0; i <= 10; i++) {
            System.out.println(i);
        }
}}

 

문제6. 짝수 출력

10개의 짝수를 출력하는 프로그램 작성, num이라는 변수 사용해서 표현 -> for, while

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int num=1;
        while (num <= 20) {
            if (num % 2 == 0) {
                System.out.println(num);
                num++;
                continue;
            }
            num++;
        }

        for (int i=1; i<=20;i++){
            if (i % 2 == 0) {
                System.out.println(i);
                continue;
            }
        }
}}

 

문제7. 누적 합 계산

반복문을 사용하여 1부터 max까지의 합을 계산하여 출력하는 프로그램

이때 sum이라는 변수를 사용하여 누적합을 표현하고, i라는 변수를 사용하여 count(증가변수)를 수행

-> while/for두 가지 버전

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int num=1, sum=0, max=10;
        while(num<=max){
            sum+=num;
            num++;
        }
        System.out.println(sum);

        int total=0;
        for (int i = 1; i <= max; i++) {
            total+=i;
        }
        System.out.println(total);
}}

 

문제8. 구구단

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int j = 1; j < 10; j++) {
                System.out.println(i + "*" + j + "=" + i * j);
            }
        }
}}

구구단 출력

문제9. 피라미드 출력

package Operator;

public class DoWhile {
    public static void main(String[] args) {
        int rows=2;
        for (int i = 1; i <= rows; i++) {
            for (int j = 0; j < i; j++) {
                System.out.print("*");

            }
            System.out.println();
        }
}}

 

자바는 단축키가 참 좋다..

ctrl+shift+엔터-> {}