본문 바로가기

Language/Java 기본

반복문(While)문 의 사용

for : 일정 횟수 (1~ 1000 등) 반복 시킬때 유용

while : 사용자가 입력한 지점까지 반복 

 

public class ex06_01 {

	public static void main(String[] args) {
		
		int i = 0;
		int j = 0;
		int sum = 0;
		
		
		while(i < 100) {
			i++;
			sum += i;
			
			
			System.out.println(i+"번째계산"+sum);
	}
}
}

while 문을 이용하여 1부터 100의 수 까지 더하는 예제

 

 

import java.util.Scanner;

public class ex06_02 {

	public static void main(String[] args) {

		
		Scanner sc = new Scanner(System.in);
		
		
		while(true) { // while을 계속 실행하여
			int num = sc.nextInt(); // 사용자값을 계속받으면서
			System.out.println("사용자 입력 수" + num); // 사용자 입력값을 출력하다가
			if (num == 5) { // 사용자가 원하는 값 5를 넣었을때.
				System.out.println(" 끝");
				break; // while문을 종료함 
			}
		
}
}
}

반복문의 사용은 사용자가 해당 프로그램을 작동후  반복문 시점으로 돌아가 재기동하게 만들 수 있으며

해당 while문 사용의 예시 처럼 사용자의 값을 계속 받거나, 조건문과 혼합하여 정상적인 값이 나올 때 까지

사용자에게 입력값을 제공받을 수도 있다.

 

 

 

 

import java.util.Scanner;

public class ex07 {
public static void main(String[] args) {
	
	
	Scanner sc = new Scanner(System.in);
	
	
	
	while(true)
	{
		int i = sc.nextInt();
		
		if (i < 10) {
			System.out.println("10보다 작군요 다시하세요");
		}
		
		if (i >= 10) {
			
			System.out.println("10 이상이군요 축하합니다.");
			break;
		}
	}
}
}

 

while 문안에 사용자 입력문을 먼저 깔아두고

if 문을 통해, i가 10미만일 경우에 다시 while 처음으로 돌아가고

i가 10 이상일 때 break문으로 while문을 끝내게 하였다.

 

 

 

 

 

import java.util.Scanner;

public class ex07_01 {
public static void main(String[] args) {
	
	Scanner sc = new Scanner(System.in);
	
	
	int z = 0;
	int h = 0;
	while(true)
		
	{
	int i = sc.nextInt();
	
	if(i % 2 == 1)
	{
		h++;
	}
	else if(i % 2 == 0)
	{
		z++;
	}
	System.out.printf("홀수의 수: %d\n짝수의 수: %d\n",h,z);
	}
	
}
}

 

 

짝수홀수를 구분하여 사용자에게 입력받는 값을 계속 각각 홀수, 짝수 개수에 반영하여 누적시키는 프로그램

 

 

 

 

 

import java.util.Scanner;

public class ex07_02 {
public static void main(String[] args) {
	
	Scanner sc = new Scanner(System.in);
	
	System.out.println("현재 몸무게 입력");
	int i = sc.nextInt(); //현재 몸무게
	System.out.println("목표 몸무게 입력");
	int y = sc.nextInt(); //목표 뭄무게
	System.out.println("몇주동안?");
	int z = sc.nextInt(); // z= 목표 주차
	int b = 0; // b 주차 
	int c = 0; // 사용자가 이번 주에 뺀 값
	while(b <= z)
	{
		System.out.println("현재"+(b)+"주차 이며, 몸무게는"+i+"입니다."); // 현재 몸무게, 목표몸무게, 목표 주차를 받아서, n주 동안 다이어트를 성공했는지 검사하는 소스
		System.out.println("감량 몸무게를 입력하세요");
		c = sc.nextInt();
		i = i-c;
		b++;
		if (i <= y)
		{ System.out.println("현재"+b+"주차 "+i+"kg 으로 다이어트 종료, 축하합니다");
		break;} // 각각의 최종 분기, 성공 및 실패는 break; 문으로 while문 탈출 및 프로그램 종료를 알린다.
		
		else if (b == z && i>=y) {
		System.out.println(z+"주가 지나 실패하였습니다.");
		break;
		}
		
	}
	
}
	
}
	
	

다이어트 관리 프로그램

 

현재 몸무게, 목표 몸무게, 다이어트 기간을 입력받고

다이어트 기간이 진행됨에 따라

기간별 감량 몸무게를 입력받고

기간 내 목표 몸무게를 달성 하게 되면 다이어트 성공 안내문이 뜨고

기간 내 목표 몸무게 달성에 실패하면 실패 문장이 뜨는 프로그램.