본문 바로가기
스마트인재개발원/자바

[자바]반복문 - while문/예제

by 죠졍니 2022. 9. 13.
728x90
반응형
SMALL

 


 

반복문

:같은 내용이나 동작을 반복하여 출력, 실행하는 구조

 

 

 

 

 

 

 

 


 

반복문의 필요성

: 특정한 명령을 반복적으로 사용하기위해서

 

 

 

 

 


반복문의 종류

while

do-while

for

 

 

 

 

 

 


while문 예제1.

while문을 이용하여 키보드로부터 입력받은 수가 10보다 작을 때만 계속 정수를 입력받으세요.

(10보다 큰 수를 입력하면 종료되었습니다.”를 출력)

 

정수입력:

정수입력:

정수입력:

종료되었습니다.

 

방법1.

import java.util.Scanner;

public class Ex01_while1 {

	public static void main(String[] args) {
		// 정수 입력받기
		Scanner sc = new Scanner(System.in);
		
		int num=0;
		
		while(num < 10) {
			//반복되는 실행문
			System.out.print("정수입력: ");
			num = sc.nextInt();
		}
		System.out.println("종료되었습니다.");
	}

}

 

 

 

 

 

방법2.

import java.util.Scanner;

public class Ex01_while1 {

	public static void main(String[] args) {
		// 정수 입력받기
		Scanner sc = new Scanner(System.in);
		while(true) {
			//반복되는 실행문
			System.out.print("정수입력: ");
			int num = sc.nextInt();
			if(num>10) {
				System.out.println("종료되었습니다.");
				break;
			}
		}
	}
}

 

 

 

 

 

 


while문 예제2.

while문을 사용하여 키보드로부터 숫자를 입력받아 누적하는 프로그램 작성

(-1입력하면 출력한 후 종료되었습니다.” 출력)

 

 

 

 

숫자입력:

누적결과:

숫자입력:

누적결과:

.

.

숫자입력:-1

누적결과:

종료되었습니다.

 

 

 

 

import java.util.Scanner;

public class Ex02_while2 {

	public static void main(String[] args) {

		
		Scanner sc = new Scanner(System.in);
		
		int sum=0;
		
		while(true) {
			//반복되는 실행문
			System.out.print("정수입력: ");
			int num = sc.nextInt();			
				sum+=num;
				System.out.println("누적결과: "+sum);
						
				if(num==-1) {
					System.out.println("종료되었습니다.");
					break;
				}
			
			
			}
			
		}
	}

/*오류발생 : 누적 결과가 누적되지 않고 값만 출력됨
 -> int sum=0;을 while문 안에 넣었던 것을 밖으로 뺐더니 잘 됨
 */

 

 

누적이 되지 않는 오류

-> int sum=0; 문장을 while문 밖으로 꺼내기

 

 

 

 

 

 

 


while문 예제3.

while문을 사용하여 숫자를 입력받아 홀수와 짝수가 각각 몇 개 입력되었는지 출력

(-1입력하면 출력한 후 종료되었습니다.” 출력)

 

숫자 입력:

짝수 개수:

홀수 개수:

숫자 입력:

짝수 개수:

홀수 개수:

.

.

숫자 입력: -1

 

 

import java.util.Scanner;

public class Ex03_while3 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		int even = 0;
		int odd = 0;
		
		while(true) {
			System.out.print("숫자 입력: ");
			int num = sc.nextInt();			
			if(num==-1)
			{
				System.out.println("종료되었습니다.");
				break;
			}
			else if(num%2==0) {
				//짝수 입력했을 때
				System.out.println("짝수 개수: "+ (++even));
				System.out.println("홀수 개수: "+ odd);
			}
			else {
				//홀수 입력했을 때
				System.out.println("짝수 개수: " + even);
				System.out.println("홀수 개수: "+ (++odd));
			}
		}
	}

}

 

 

 

 

 

 

728x90
반응형
LIST