전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

JAVA

[자바/JAVA] 프로그래밍 - 반복문(for,while) 실습 예제

2023. 5. 31. 21:25

반복문(for,while) 예제


문제 01.

사용자로부터 한 개의 값을 입력 받아 1부터 그 숫자까지의 숫자들을 모두 출력하세요.
단, 입력한 수는 1보다 크거나 같아야 합니다.
만일 1 미만의 숫자가 입력됐다면 “1 이상의 숫자를 입력해주세요“를 출력하세요.

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

if (num < 1) {
    System.out.println("1 이상의 숫자를 입력해주세요.");
} else {
    for (int i = 1; i <= num; i++) {
        System.out.print(i + " ");
    }
}
sc.close();

문제 02.

위 문제와 모든 것이 동일하나, 1 미만의 숫자가 입력됐다면 “1 이상의 숫자를 입력해주세요”가 출력되면서 다시 사용자가 값을 입력하도록 하세요.

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

    if (num < 1) {
        System.out.println("1 이상의 숫자를 입력해주세요.");
    } else {
        for (int i = 1; i <= num; i++) {
            System.out.print(i + " ");
        }
        break;
    }
}
sc.close();

문제 03.

사용자로부터 한 개의 값을 입력 받아 1부터 그 숫자까지의 모든 숫자를 거꾸로 출력하세요. 단, 입력한 수는 1보다 크거나 같아야 합니다.

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

if (num < 1) {
    System.out.println("1 이상의 숫자를 입력해주세요");
} else {
    for (int i = num; i > 0; i--) {
        System.out.print(i + " ");
    }
}
sc.close();

문제 04.

위 문제와 모든 것이 동일하나, 1 미만의 숫자가 입력됐다면 “1 이상의 숫자를 입력해주세요”가 출력되면서 다시 사용자가 값을 입력하도록 하세요.

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

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

문제 05.

1부터 사용자에게 입력 받은 수까지의 정수들의 합을 출력하세요.

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

for (int i = 1; i <= num; i++) {
    sum += i;
    System.out.print(i);

    if (num == i) {
        System.out.print(" = ");
    } else {
        System.out.print(" + ");
    }
}
System.out.print(sum);
sc.close();

문제 06.

사용자로부터 두 개의 값을 입력 받아 그 사이의 숫자를 모두 출력하세요. 만일 1 미만의 숫자가 입력됐다면 “1 이상의 숫자를 입력해주세요“를 출력하세요.

Scanner sc = new Scanner(System.in);

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

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

if (num1 < 1 || num2 < 1) {
    System.out.println("1 이상의 숫자를 입력해주세요.");
} else {
    if (num2 > num1) {
        for (int i = num1; i <= num2; i++) {
            System.out.print(i + " ");
        }
    } else {
        for (int i = num2; i <= num1; i++) {
            System.out.print(i + " ");
        }
    }
}
sc.close();

문제 07.

위 문제와 모든 것이 동일하나, 1 미만의 숫자가 입력됐다면 “1 이상의 숫자를 입력해주세요”가 출력되면서 다시 사용자가 값을 입력하도록 하세요.

Scanner sc = new Scanner(System.in);

while (true) {
    System.out.print("첫 번째 숫자 : ");
    int num1 = sc.nextInt();

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

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

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

문제 08.

사용자로부터 입력 받은 숫자의 단을 출력하세요.

Scanner sc = new Scanner(System.in);
System.out.print("숫자 : ");
int dan = sc.nextInt();

System.out.println("===== " + dan + "단" + " =====");
for (int i = 1; i <= 9; i++) {
    System.out.printf("%d * %d = %d\n", dan, i, dan * i);
}
sc.close();

문제 09.

사용자로부터 입력 받은 숫자의 단부터 9단까지 출력하세요.
단, 9를 초과하는 숫자가 들어오면 “9 이하의 숫자만 입력해주세요”를 출력하세요

Scanner sc = new Scanner(System.in);
System.out.print("숫자 : ");
int dan = sc.nextInt();
while (true) {
    if (dan < 10) {
        System.out.println("===== " + dan + "단 " + "=====");
        for (int i = 1; i < 10; i++) {
            System.out.printf("%d x %d = %d\n", dan, i, dan * i);
        }
        dan++;
        if (dan > 9) {
            break;
        }
    } else {
        System.out.println("9 이하의 숫자만 입력해주세요.");
    }
    sc.close();
}

문제 10.

위 문제와 모든 것이 동일하나, 9를 초과하는 숫자가 입력됐다면 “9 이하의 숫자를 입력해주세요”가 출력되면서 다시 사용자가 값을 입력하도록 하세요.

Scanner sc = new Scanner(System.in);
while (true) {
    System.out.print("숫자 : ");
    int dan = sc.nextInt();
    if (dan < 10) {
        for (int i = dan; i < 10; i++) {
            System.out.println("===== " + i + "단 =====");
            for (int j = 1; j < 10; j++) {
                System.out.printf("%d x %d = %d\n", i, j, i * j);
            }
        }
        break;
    } else {
        System.out.println("9 이하의 숫자만 입력해주세요.");
    }
}
sc.close();

문제 11.

사용자로부터 시작 숫자와 공차를 입력 받아 일정한 값으로 숫자가 커지거나 작아지는 프로그램을 구현하세요.
단, 출력되는 숫자는 총 10개입니다

Scanner sc = new Scanner(System.in);

System.out.print("시작 숫자 : ");
int num = sc.nextInt();

System.out.print("공차 : ");
int d = sc.nextInt();
int count = 0;
int sum = num;

while (true) {
    if (count < 10) {
        System.out.print(sum + " ");
        sum += d;
        count++;
    } else {
        break;
    }
}
sc.close();

문제 12.

정수 두 개와 연산자를 입력 받고 입력된 연산자에 따라 알맞은 결과를 출력하세요.
단, 해당 프로그램은 연산자 입력에 “exit”라는 값이 들어올 때까지 무한 반복하며 exit가 들어오면 “프로그램을 종료합니다.”를 출력하고 종료합니다.
또한 연산자가 나누기이면서 두 번째 정수가 0으로 들어오면 “0으로 나눌 수 없습니다. 다시 입력해주세요.”를 출력하며, 없는 연산자가 들어올 시 “없는 연산자입니다. 다시 입력해주세요.”라고 출력하고 두 경우 모두 처음으로 돌아가 사용자가 다시 연산자부터 입력하도록 하세요.

Scanner sc = new Scanner(System.in);
while (true) {

    System.out.print("연산자(+, -, *, /, %)");
    String op = sc.nextLine();

    if (op.equals("exit")) {
        System.out.println("프로그램을 종료합니다.");
        break;
    }

    System.out.print("정수1 : ");
    int num1 = sc.nextInt();

    System.out.print("정수2 : ");
    int num2 = sc.nextInt();

    int result = 0;

    if (op.equals("+")) {
        result = num1 + num2;
    } else if (op.equals("-")) {
        result = num1 - num2;

    } else if (op.equals("*")) {
        result = num1 * num2;

    } else if (op.equals("/")) {
        result = num1 / num2;

    } else if (op.equals("%")) {
        result = num1 % num2;
    } else {
        System.out.println("없는 연산자입니다. 다시 입력해주세요.");
        sc.nextLine();
        continue;
    }
    if (num2 == 0) {
        System.out.println("0으로 나눌 수 없습니다. 다시 입력해주세요.");
        sc.nextLine();
        continue;
    }
    System.out.printf("%d %s %d = %d\n", num1, op, num2, result);
    sc.nextLine();
}
sc.close();

문제 13.

다음과 같은 실행 예제를 구현하세요.

Scanner sc = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num = sc.nextInt();
for (int j = 1; j <= num; j++) {
    for (int i = 1; i <= j; i++) {
        System.out.print("*");
    }
    System.out.println("");
}
sc.close();

문제 14.

다음과 같은 실행 예제를 구현하세요.

Scanner sc = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num = sc.nextInt();

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

 

    'JAVA' 카테고리의 다른 글
    • [자바/JAVA] 프로그래밍 - 제어문 - (분기문 break,continue)
    • [자바/JAVA] 프로그래밍 - 제어문 종합 실습 예제
    • [자바/JAVA] 프로그래밍 - 조건문(if,switch) 실습 예제
    • [자바/JAVA] 프로그래밍 - 제어문 (반복문 do-while)
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바