[STUDY] 231130 | Java | 반복문(while, for)

Nimgnos·2023년 12월 3일
0

👾 STUDY

목록 보기
9/40
post-thumbnail

📌 반복문(while, for)

  • 특정 코드를 반복적으로 실행할 때 사용한다. 특히 데이터 처리에서 자주 사용됨.
  • 반복문을 사용하면 불필요한 중복 코드를 줄이고 코드의 길이를 간결하게 만들 수 있다.

📌 반복문(while) - 예제 풀기

문제 1.

  • System.out.print(“*”);을 사용하여 별을 다섯 개 출력해보자. 단 출력문은 한번만 사용해야 한다.
  • 풀이 및 결과
public class 반복문_Q1 {
    public static void main(String[] args){
        int num = 0;
        while (num < 5){
            num = num + 1;
            System.out.println("*");
        }
    }
}

문제 2.

  • 출력문을 한 번만 사용하여 0~5까지 출력하시오.
  • 풀이 및 결과
public class 반목분_Q2 {
    public static void main(String[] arsg){
        int num = -1;
        while (num < 5){
            num = num + 1;
            System.out.println(num);
        }
    }
}

문제 3.

  • 출력문을 한 번만 사용하여 '2 4 6 8 10'을 출력하시오.
  • 풀이 및 결과
public class 반목문_Q3 {
    public static void main(String[] args){
        int num = 2;
        while (num < 11){
            System.out.println(num);
            num = num + 2;
        }
    }
}

문제 4. 풀이

  • 출력문을 한 번만 사용하여 10~0까지 출력하시오.
  • 풀이 및 결과
public class 반복문_Q4 {
    public static void main(String[] args){
        int num = 11;
        while (num > 1 && num < 12){
            num = num - 1;
            System.out.println(num);
        }
        ////////////////
        int i = 10;
        while (i > -1){
            System.out.println(i);
            i = 1 - 1; //i--;
        }
    }
}

문제 5.

  • while문을 사용하여 1~10까지의 합을 구하시오.
  • 풀이 및 결과
public class 반복문_Q5 {
    public static void main(String[] args){
        int num = 1;
        int sum = 0;
        while (num < 11){
            sum = sum + num;
            num++;
        }
        System.out.println(sum);
    }
}

문제 6.

  • 1~100까지의 숫자 중 3의 배수인 수의 개수를 구하시오
  • 내 풀이
public class 반복문_Q6 {
    public static void main(String[] args){
        //3의 배수 구하기(문제를 잘못 이해 ㅠㅠ)
        int num = 3;
        while (num < 100){
            System.out.println(num);
            num = num + 3;
        }
    }
}
  • 풀이 및 결과
public class 반복문_Q6 {
    public static void main(String[] args){
        //< 해석>
        //1부터 100까지 차례대로 해당 숫자가 3의 배수인지 확인
          int cnt = 0; //3의 배수를 저장할 변수
          int i = 1;
          while (i < 101){
              if (i % 3 == 0){
                  cnt++;
              }
              i++;
          }
          System.out.println(cnt);
    }
}

문제 7.

  • 1~100까지의 숫자 중 5의 배수인 수를 모두 출력하고, 5의 배수인 수의 개수도 출력하시오.
  • 내 풀이
public class 반복문_Q7 {
    public static void main(String[] arsg){
        //5의 배수 출력
          int num1 = 5;
          while (num1 < 101){
              System.out.println(num1);
              num1 = num1 + 5;
          }
          //5의 배수인 수의 개수 출력
          int cnt = 0;
          int num2 = 1;
          while (num2 < 101){
              if(num2 % 5 == 0){
                  cnt++;
              }
              num2++;
          }
          System.out.println("5의 배수의 개수는 '" + cnt + "'개 입니다.");
    }
}
  • 풀이 및 결과
public class 반복문_Q7 {
    public static void main(String[] arsg){
        //<선생님 풀이>
        int cnt = 0;
        int i = 1;
        while (i < 101){
            if(i % 5 == 0){
                System.out.println(i + " "); //5
                cnt++;
            }
            i++;
        }
        System.out.println();
        System.out.println("5의 배수의 개수 :" + cnt);
    }
}

문제 8.

  • 임의의 정수를 입력받아 1부터 입력받은 수까지 중 짝수의 개수를 구하시오.
  • 풀이 및 결과
public class 반복문_Q8 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("숫자 입력 : ");
        int num = sc.nextInt(); //의의 정수를 입력받을 변수
        int cnt = 0; //짝수의 개수를 저장할 변수
        int i = -1;
        while (i < num + 1){
            if(i % 2 == 0){
                cnt++;
            }
            i++;
        }
        System.out.println(cnt);
    }
}

문제 9.

  • 키보드로 두 정수를 입력받아 입력받은 두 정수 사이의 모든 정수의 합을 출력하시오.
  • 풀이 및 결과
public class While_문제_9 {
    public static void main(String[] args){
        //1, 5 -> 2 3 4
        Scanner sc = new Scanner(System.in);
        System.out.println("첫 번째 수 : ");
        int num1 = sc.nextInt(); //1
        System.out.println("두 번째 수 : ");
        int num2 = sc.nextInt(); //5
        //큰 수, 작은 수 구분
        int max, min;
        if(num1 >= num2){
            max = num1;
            min = num2;
        }
        else{
            max = num2;
            min = num1;
        }
        //min = 1, max = 5 -> 2 + 3 + 4
        int sum = 0;
        int i = min + 1;
        while(i < max){
            sum = sum + i;
            i++;
        }
        System.out.println(sum);
    }
}

📌 반복문(for) - 예제 풀기

문제 1.

  • 임의의 정수를 입력받아 1부터 입력받은 수까지 중 짝수의 개수를 구하시오.
  • 풀이 및 결과
public class For_문제_8 {
    public static void main(String[] args){
        //
        Scanner sc = new Scanner(System.in);
        System.out.println("숫자 입력 : ");
        int num = sc.nextInt();
        int cnt = 0;
        for(int i = 1; i < num +1; i++){
            if (i % 2 == 0){
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}

문제 2.

  • 구구단 중 2단을 출력하시오.
  • 풀이 및 결과
public class For_문제_11 {
    public static void main(String[] args){
        //2*1=2
        //2*2=4
        //...
        //2*9=18
        for(int i = 1; i < 10; i++){
            System.out.println("2 * " + i + " = " + (2 * i));
        }
    }
}

문제 3.

  • 출력문을 한 번만 사용하여 0~5까지 출력하시오.
  • 풀이 및 결과
public class 반목분_Q2 {
    public static void main(String[] arsg){
        // i: index
        for(int i = 0; i < 6; i++){
            System.out.println(i);
        }
    }
}

문제 3.

  • 출력문을 한 번만 사용하여 '2 4 6 8 10'을 출력하시오.
  • 풀이 및 결과
public class 반목문_Q3 {
    public static void main(String[] args){
        for(int i = 2; i < 11; i = i + 2){
            System.out.println(i);
        }
        System.out.println();
        //<for문으로 풀기2>
        for(int i = 1; i < 11; i++){
            if(1 % 2 == 0){
                System.out.println(i);
            }
        }
    }
}

문제 4. 풀이

  • 출력문을 한 번만 사용하여 10~0까지 출력하시오.
  • 풀이 및 결과
public class 반복문_Q4 {
    public static void main(String[] args){
        for(int i = 10; i > -1; i--){
            System.out.println(i);
        }
    }
}

문제 5.

  • while문을 사용하여 1~10까지의 합을 구하시오.
  • 풀이 및 결과
public class 반복문_Q5 {
    public static void main(String[] args){
        int sum = 0;
        for(int i = 1; i < 11; i++){
            sum = sum + i;
        }
        System.out.println(sum);
    }
}

문제 6.

  • 1~100까지의 숫자 중 3의 배수인 수의 개수를 구하시오
  • 풀이 및 결과
public class 반복문_Q6 {
    public static void main(String[] args){
        int cnt = 0;
        for(int i = 1; i < 101; i++){
            if(i % 3 == 0){
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}

문제 7.

  • 1~100까지의 숫자 중 5의 배수인 수를 모두 출력하고, 5의 배수인 수의 개수도 출력하시오.
  • 풀이 및 결과
public class 반복문_Q7 {
    public static void main(String[] arsg){
        int cnt = 0;
        for(int i = 1; i < 101; i++){
            if(i % 5 == 0){
                cnt++;
                System.out.println(i);
            }
        }
        System.out.println(cnt);
    }
}
profile
먹고 기도하고 코딩하라

0개의 댓글