반복문 실습문제 Challenge

DONI·2021년 8월 30일
1

Java

목록 보기
13/46
post-thumbnail

🚩 실습문제 1

문제 ( 메서드명 : public void practice1( ) { } )

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

실행 화면 1

1이상의 숫자를 입력하세요 : 4
1 2 3 4

실행 화면 2

1이상의 숫자를 입력하세요 : 0
1 이상의 숫자를 입력해주세요.

소스코드

public void practice1() {
	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 = 0; i < num; i++)
			System.out.print(i + 1 + " ");
	}
	
	sc.close();
}

🚩 실습문제 2

문제 ( 메서드명 : public void practice2( ) { } )

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

실행 화면 1

1이상의 숫자를 입력하세요 : 4
4 3 2 1

실행 화면 2

1이상의 숫자를 입력하세요 : 0
1 이상의 숫자를 입력해주세요.

소스코드

public void practice2() {
	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();
}

🚩 실습문제 3

문제 ( 메서드명 : public void practice3( ) { } )

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

실행 화면

정수를 하나 입력하세요 : 8
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36

소스코드

public void practice3() {
	Scanner sc = new Scanner(System.in);
	
	System.out.print("정수를 하나 입력하세요 : ");
	int num = sc.nextInt();
	
	int sum = 0;
	for (int i = 0; i < num; i++) {
		sum += (i + 1);
		
		System.out.print(i + 1);			
		if (i + 1 == num) System.out.print(" = ");
		else System.out.print(" + ");
	}
	System.out.println(sum);
	
	sc.close();
}

🚩 실습문제 4

문제 ( 메서드명 : public void practice4( ) { } )

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

실행 화면 1

첫 번째 숫자 : 8
두 번째 숫자 : 4
4 5 6 7 8

실행 화면 2

첫 번째 숫자 : 4
두 번째 숫자 : 8
4 5 6 7 8

실행 화면 3

첫 번째 숫자 : 9
두 번째 숫자 : 0
1 이상의 숫자를 입력해주세요.

소스코드

public void practice4() {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("첫 번째 숫자 : ");
		int input1 = sc.nextInt();
		System.out.print("두 번째 숫자 : ");
		int input2 = sc.nextInt();
		
		int num1;
		int num2;
		
		if (input1 < 1 || input2 < 1)
			System.out.println("1 이상의 숫자를 입력해주세요.");
		else {
			if (input1 < input2) {
				num1 = input1;
				num2 = input2;
			} else {
				num1 = input2;
				num2 = input1;
			}
			
			for (int i = num1; i <= num2; i++)
				System.out.print(i + " ");
		}

		sc.close();
	}

🚩 실습문제 5

문제 ( 메서드명 : public void practice5( ) { } )

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

실행 화면

소스코드

public void practice5() {
	Scanner sc = new Scanner(System.in);
	
	System.out.print("숫자 : ");
	int num = sc.nextInt();
	
	System.out.println("===== " + num + "단 =====");
	for (int i = 0; i < 9; i++)
		System.out.println(num + " * " + (i + 1) + " = " + num * (i + 1));
	
	sc.close();
}

🚩 실습문제 6

문제 ( 메서드명 : public void practice6( ) { } )

사용자로부터 입력 받은 숫자의 단부터 9단까지 출력하세요.
단, 2~9를 사이가 아닌 수를 입력하면 “2~9 사이 숫자만 입력해주세요”를 출력하세요.

실행 화면 1

숫자 : 4
===== 4단 =====
===== 5단 =====
===== 6단 =====
===== 7단 =====
===== 8단 =====
===== 9단 =====
(해당 단의 내용들은 길이 상 생략)

실행 화면 2

숫자 : 10
2~9 사이 숫자만 입력해주세요.

소스코드

public void practice6() {
	Scanner sc = new Scanner(System.in);
	
	System.out.print("숫자 : ");
	int num = sc.nextInt();
	
	if (num < 2 || num > 9)
		System.out.println("2~9 사이 숫자만 입력해주세요.");
	else {
		for (int i = num; i <= 9; i++) {
			System.out.println("===== " + i + "단 =====");
			for (int j = 0; j < 9; j++)
				System.out.println(i + " * " + (j + 1) + " = " + i * (j + 1));
			System.out.println();
		}
	}
	
	sc.close();
}

🚩 실습문제 7

문제 ( 메서드명 : public void practice7( ) { } )

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

실행 화면

정수 입력 : 4

소스코드

public void practice7() {
	Scanner sc = new Scanner(System.in);
	
	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();
	}

	sc.close();
}

🚩 실습문제 8

문제 ( 메서드명 : public void practice8( ) { } )

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

실행 화면

정수 입력 : 4

소스코드

public void practice8() {
	Scanner sc = new Scanner(System.in);
	
	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();
	}
	
	sc.close();
}

🚩 실습문제 9

문제 ( 메서드명 : public void practice9( ) { } )

1부터 사용자에게 입력 받은 수까지 중에서
1) 2와 3의 배수를 모두 출력하고
2) 2와 3의 공배수의 개수를 출력하세요.

  • ‘공배수’는 둘 이상의 수의 공통인 배수라는 뜻으로 어떤 수를 해당 수들로 나눴을 때
    모두 나머지가 0이 나오는 수

실행 화면

자연수 하나를 입력하세요 : 15
2 3 4 6 8 9 10 12 14 15
count : 2

소스코드

public void practice9() {
	Scanner sc = new Scanner(System.in);
	
	System.out.print("자연수 하나를 입력하세요 : ");
	int num = sc.nextInt();
	
	int count = 0;
	
	for (int i = 0; i < num; i++) {
		if ((i + 1) % 2 == 0 || (i + 1) % 3 == 0) {
			System.out.print(i + 1 + " ");
			if ((i + 1) % (2 * 3) == 0) count++;
		}
	}
	System.out.println("\ncount : " + count);
	
	sc.close();
}

🚩 실습문제 10

문제 ( 메서드명 : public void practice10( ) { } )

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

실행 화면

정수 입력 : 4

소스코드

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

🚩 실습문제 11

문제 ( 메서드명 : public void practice11( ) { } )

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

실행 화면 1

정수 입력 : 3

소스코드

public void practice11() {
	Scanner sc = new Scanner(System.in);
	
	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();
	}
	
	for (int i = 0; i < num - 1; i++) {
		for (int j = num - 1; j > i; j--)
			System.out.print("*");
		System.out.println();
	}
	
	sc.close();
}

🚩 실습문제 12

문제 ( 메서드명 : public void practice12( ) { } )

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

실행 화면

정수 입력 : 4

소스코드

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

🚩 실습문제 13

문제 ( 메서드명 : public void practice13( ) { } )

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

실행 화면 1

정수 입력 : 5

소스코드

public void practice13() {
	Scanner sc = new Scanner(System.in);
	
	System.out.print("정수 입력 : ");
	int num = sc.nextInt();
	
	for (int row = 0; row < num; row++) {
		for (int col = 0; col < num; col++) {
			if (row == 0 || row == num - 1 || col == 0 || col == num - 1)
				System.out.print("*");
			else
				System.out.print(" ");
		}
		System.out.println();
	}
	
	sc.close();
}
profile
틀린 내용이 있다면 댓글 또는 이메일로 알려주세요 ❤ꔛ❜

0개의 댓글