LoopControl

하나의 클래스에 메소드로 정의하여 메소드 호출하여 실행

📑문제

method1

method2

method3

method4

method5

method6

method7

method8

method9

method10

method11

method12

method13

method14

method15

method16

method17

method18

method19

method20

method21

method22

 

🔍풀이

package com.kh.practice1.loop;

import java.util.*;

public class LoopControl {
    private static Scanner sc;
    public static void main(String[] args) {
        sc = new Scanner(System.in);
//        method1();
//        method2();
//        method3();
//        method4();
//        method5();
//        method6();
//        method7();
//        method8();
//        method9();
//        method10();
//        method11();
//        method12();
//        method13();
//        method14();
//        method15();
//        method16();
//        method17();
//        method18();
//        method19();
//        method20();
//        method21();
        method22();
    }

    private static void method1() {
        // 1. 사용자로 부터 한개의 값을 입력받으시오! 정수.
        // 2. 1부터 그 숫자까지를 거꾸로 출력
        // 3. 단, 입력한 수는 1보다 크거나 같아야 합니다.
        System.out.print("1 이상의 숫자를 입력하세요 : ");
        int num =sc.nextInt();

        if(num <= 0){
            System.out.println("입력한 수는 1보다 크거나 같아야 합니다.");
            return;
        }

        for (int i = num; i >= 1; i--){
            System.out.print(i + " ");
        }
    }

    private static void method2() {

        while (true){
        System.out.print("1 이상의 숫자를 입력하세요 : ");
        int num =sc.nextInt();

        if(num > 0) {
            for (int i = num; i >= 1; i--) {
                System.out.print(i + " ");
            }
            System.out.println();
        }else{
            if(num == -1) {
                System.out.println("종료합니다.");
                break;
            }
            System.out.println("1 이상의 숫자를 입력해주세요.");
            }
        }
    }

    private static void method3() {

            System.out.print("정수를 하나 입력하세요: : ");
            int num =sc.nextInt();

            if(num <= 0) {
                System.out.println("입력한 수는 1보다 크거나 같아야 합니다.");
                return;
                }

            int totalSum = 0;
            for (int i = 1; i <= num; i++) {
                totalSum += i;
                System.out.print(i);
                if(num != i ){
                    System.out.print(" + ");
                }else {
                    System.out.print(" = ");
                }
        }
        System.out.print(totalSum);
    }

    private static void method4() {

        System.out.print("첫 번째 숫자: : ");
        int num1 =sc.nextInt();
        System.out.print("두 번째 숫자: : ");
        int num2 =sc.nextInt();

        if(num1 <= 0 || num2 <= 0) {
            System.out.println("1 이상의 숫자를 입력해주세요.");
            return;
        }

        int first = 0;
        int last = 0;
        if(num1 > num2){
            last = num1;
            first = num2;
        } else {
            first = num1;
            last = num2;
        }

        for(int i = first; i <= last; i++){
            System.out.print(i + " ");
        }
    }

    private static void method5() {
    while (true) {
        System.out.print("첫 번째 숫자: : ");
        int num1 =sc.nextInt();
        System.out.print("두 번째 숫자: : ");
        int num2 =sc.nextInt();

        if(num1 <= 0 || num2 <= 0) {
            System.out.println("1 이상의 숫자를 입력해주세요.");
        }else{
            int first = 0;
            int last = 0;

            if(num1 > num2){
            last = num1;
            first = num2;
            } else {
            first = num1;
            last = num2;
            }
            for(int i = first; i <= last; i++){
            System.out.print(i + " ");
            }
        }
        System.out.println();
        break;
    }
    }

    private static void method6() {
        System.out.print("숫자 : ");
        int num = sc.nextInt();

        for (int i = 1; i <= 9; i++){
            System.out.println(num + " * " + i + " = " + num*i);
        }

    }

    private static void method7() {
        System.out.print("숫자 : ");
        int num = sc.nextInt();

        if(num > 9){
            System.out.println("9 이하의 숫자만 입력해주세요.");
            return;
        }

        for (int i = num; i <= 9; i++){
            System.out.println("===== " + i +"단 =====");
            for(int j = 1; j <=9; j++){
            System.out.println(num + " * " + j + " = " + num*j);
            }
            num++;
        }

    }

    private static void method8() {
        System.out.print("숫자 : ");
        int num = sc.nextInt();

        if(num <= 9){
        for (int i = num; i <= 9; i++) {
            System.out.println("===== " + i + "단 =====");
            for (int j = 1; j <= 9; j++) {
                System.out.println(num + " * " + j + " = " + num * j);
            }
            num++;
            }
        }else{
            System.out.println("9 이하의 숫자만 입력해주세요.");
        }
    }

    private static void method9() {
        System.out.print("시작 숫자 : ");
        int num1 = sc.nextInt();
        System.out.print("공차 : ");
        int num2 = sc.nextInt();

        int limit = 10;
        while(limit > 0){
            System.out.print(num1 + " ");
            num1 += num2;
            limit--;
        }

    }

    private static void method10() {
        while (true){
        System.out.print("연산자(+, -, *, /, %) : ");
        String symbol = sc.nextLine();
        if(symbol.equals("exit")){
            System.out.println("프로그램을 종료합니다.");
            break;
        }
        System.out.print("정수1 : ");
        int num1 = sc.nextInt();
        System.out.print("정수2 : ");
        int num2 = sc.nextInt();
        sc.nextLine();

        if(num2 == 0 ){
            System.out.println("0으로 나눌 수 없습니다 .다시 입력해주세요.");
            continue;
        }

        if(symbol.equals("+") || symbol.equals("-") ||
                symbol.equals("*") || symbol.equals("/") || symbol.equals("%")){
            }else {
            System.out.println("없는 연산자 입니다. 다시 입력해주세요.");
            continue;
        }

        switch (symbol){
            case "+" :
                System.out.println(num1 + " + " + num2 + " = " + (num1+num2) );
                break;
            case "-" :
                System.out.println(num1 + " - " + num2 + " = " + (num1-num2) );
                break;
            case "*" :
                System.out.println(num1 + " * " + num2 + " = " + (num1*num2) );
                break;
            case "/" :
                System.out.println(num1 + " / " + num2 + " = " + (num1/num2) );
                break;
            case "%" :
                System.out.println(num1 + " % " + num2 + " = " + (num1%num2) );
                break;
        }
        }
    }

    private static void method11() {
        System.out.print("정수 입력 : ");
        int num = sc.nextInt();

        for(int i = 0; i < num; i++){
            for (int j = 0; j < i + 1; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }

    private static void method12() {
        System.out.print("정수 입력 : ");
        int num = sc.nextInt();

        for(int i = 0; i < num; i++){
            for (int j = num; j > i; j--){
                System.out.print("*");
            }
            System.out.println();
        }
    }

    private static void method13() {
        System.out.print("숫자 : ");
        int num = sc.nextInt();

        if (num < 2 ){
            System.out.println("잘못 입력하셨습니다.");
            return;
           }

        int cnt = 0;
        for(int i = 1; i <= num; i++){
           if(num % i == 0){
               cnt++;
           }

           if(cnt == 2){
               System.out.println("소수입니다.");
               break;
           }else{
               System.out.println("소수가 아닙니다.");
               break;
           }
        }

    }

    private static void method14() {
        while (true){
        System.out.print("숫자 : ");
        int num = sc.nextInt();

        if (num < 2 ){
            System.out.println("잘못 입력하셨습니다.");
        }else {
            int cnt = 0;
            for(int i = 1; i <= num; i++) {
                if (num % i == 0) {
                    cnt++;
                }
            }
            if(cnt == 2){
                System.out.println("소수입니다.");
            }else{
                System.out.println("소수가 아닙니다.");
            }
            break;
        }
        }
        }

    private static void method15() {
        Set<String> resultSet = new LinkedHashSet<>();
        while (true){
            System.out.print("숫자 : ");
            int num = sc.nextInt();

            if (num < 2 ){
                System.out.println("잘못 입력하셨습니다.");
            }else {
                int cnt = 0;
                for(int j = 2; j <= num; j++){
                    cnt = 0;
                    for(int i = 1; i <= j; i++) {
                        if (j % i == 0) {
                            cnt++;
                        }
                    }
                if(cnt == 2){
                    resultSet.add(j + " ");
                }else{
                }
                }
                //2부터 11까지 소수의 개수는 5개 입니다.
                resultSet.stream().forEach(System.out::print);
                System.out.println();
                System.out.println("2부터 " + num + "까지 소수의 개수는 " + resultSet.size() + "개 입니다.");
            }
        }
    }

    private static void method16() {
        System.out.print("정수 입력 : ");
        int num = sc.nextInt();

        //   *
        //  **
        // ***
        //****

        int cnt = num;
        for(int i = 0; i < num; i++){
            cnt--;
            for (int j = 0; j < num; j++){
                if (cnt > j) {
                    System.out.print(" ");
                }else {
                System.out.print("*");
                }
            }
            System.out.println();
        }
    }

    private static void method17() {
        System.out.print("정수 입력 : ");
        int num = sc.nextInt();

        //*
        //**
        //***
        //**
        //*

        for(int i=1; i<=num; i++ ){
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.println();
        }

        for(int i=num; i>=1; i-- ){
            for(int j=1;j<=i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println();
    }

    private static void method18() {
        System.out.print("정수 : ");
        int num = sc.nextInt();

        if (num <= 0 ){
            System.out.println("양수가 아닙니다.");
            return;
       }

        for (int i = 0; i < num; i++){
            if (i % 2 == 0 ){
                System.out.print("박");
            }else {
                System.out.print("수");
            }
        }
    }

    private static void method19() {
        while (true){
            System.out.print("정수 : ");
            int num = sc.nextInt();

            if (num <= 0 ){
                System.out.println("양수가 아닙니다.");

            }else{
                for (int i = 0; i < num; i++){
                    if (i % 2 == 0 ){
                        System.out.print("박");
                    }else {
                        System.out.print("수");
                    }
                }
                System.out.println();
            }
        }
    }

    private static void method20() {
        System.out.print("문자열 : ");
        String text = sc.nextLine();
        System.out.print("문자 : ");
        char textCh = sc.nextLine().charAt(0);

        int cnt = 0;
        for(char ch  : text.toCharArray()){
            if(ch == textCh){
                cnt++;
            }
        }
        System.out.println(text + "안에 포함된 " +textCh + " 개수 : " + cnt);
    }

    private static void method21() { //코드 다시 정리해야함
        boolean isWrongAnswer = false; //플래그
        while (!isWrongAnswer) {
            System.out.print("문자열 : ");
            String text = sc.nextLine();
            System.out.print("문자 : ");
            char textCh = sc.nextLine().charAt(0);

            int cnt = 0;
            for (char ch : text.toCharArray()) {
                if (ch == textCh) {
                    cnt++;
                }
            }
            System.out.println("포함된 개수 : " + cnt);
        }

        System.out.print("더 하시겠습니까?(y/n) : ");
        String yn = sc.nextLine();
        yn = yn.toLowerCase();

        if (yn.equals("y") || yn.equals("n")){
            if (yn.equals("y")){
                isWrongAnswer = false;
                }else{
//                    break;
                }
            } else{
                System.out.println("잘못된 대답입니다. 다시 입력주세요.");
                isWrongAnswer = true;
            }
        }

    private static void method22() {
        Random ran = new Random();
        int com = ran.nextInt(100) + 1;
        System.out.println(com);
        int cnt = 0;
        while (true){
            System.out.print("1~100 사이의 임의의 난수를 맞춰보세요 : ");
        int num = sc.nextInt();

        if(!(1 <= num && num <= 100)){
            System.out.println("1~100 사이의 숫자를 입력해주세요.");
            continue;
        }

        if(com == num){
            System.out.println("정답입니다!");
            System.out.println(cnt + "회만에 맞추셨습니다.");
            break;
        }else{
            if(com > num){
                System.out.println("UP!");
            }else{
                System.out.println("Down!");
            }
        }
        cnt++;
        }
    }

}
복사했습니다!