본문 바로가기
Language/JAVA

JAVA 2일차 - 반복문(for,while)

by 코젼 2022. 6. 21.
728x90
반응형

 

📂프로젝트 파일

4_loop.zip
0.01MB

📃for문 예제

 

 

import java.util.Scanner;

public class Ch4_for {

	public static void main(String[] args) {
		loop8();
	}
	
/*------------for 반복문------------*/
	
//	예제 1 - 단순 반복 출력
	static void loop1() {
		for(int i=0; i<5; i++) {
			System.out.println(i+1 + ", I can do it");
		}
	}
//	예제 2 - 1~100까지의 합
	static void loop2() {
		int sum = 0;
		for(int i=1; i<=100; i++) {
			sum += i;
		}
		System.out.println("1부터 100까지의 합은 " + sum + "입니다.");
	}
	
//	예제 3 - 사용자로부터 정수를 입력 받아 그 수까지의 합을 구하시오.
	static void loop3() 
	{
		System.out.print("숫자를 입력하시오 : ");
		Scanner s = new Scanner(System.in);
		int num = s.nextInt();
		int sum = 0;
		
		for(int i=1; i<=num; i++) 
		{
			sum += i;
		}
		
		System.out.println("사용자가 입력한 수까지의 합 : " + sum);
	}

//	예제 4 - 5단 구구단
	static void loop4() 
	{
		for(int i=1; i<10; i++)
		{
			System.out.println("5 * " + i + " = " + (5*i));
		}
	}

//	예제 5 - (*****) 를 중첩 for문을 이용하여 3줄 출력
	static void loop5() 
	{
		for(int i=0; i<3; i++)
		{
			for(int j=0; j<5; j++) 
			{
				System.out.print("*");
			}
			System.out.println("");
		}
	}
	
//	예제 6 - 별 짓기
	static void loop6() {
		for(int i=0; i<10; i++) {
			for(int j=0; j<i+1; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}
	}

//	예제 7 - 2~9단 구구단
	static void loop7() {
		System.out.println("구구단을 외자!\n");
		for(int i=2; i<=9; i++) {
			System.out.println("[ " + i + "단 ]");
			for(int j=1; j<=9; j++) {
				System.out.println(i + " * " + j + " = " + (i*j));
			}
			System.out.println("");
		}
	}
	
//	예제 8 - 줄어드는 별 짓기
	static void loop8() {
		for(int i=0; i<10; i++) {
			for(int j=10; j>i; j--) {
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}

📃while문 예제

 

import java.util.Scanner;

public class Ch4_while {

	public static void main(String[] args) {
		whileloop1();
	}

/*--------------while 반복문-------------*/
	
//	예제 1 - 1~10까지 출력
	static void whileloop1() {
		int i=0;
		while(i<10) {
			System.out.println(i+1);
			i++;
		}
	}
	
//	예제 2 - 1~10까지의 합을 구하여 합 출력
	static void whileloop2() {
		int i=1;
		int sum=0;
		while(i<=10) {
			sum += i;
			i++;
		}
		System.out.println("1부터 10까지의 합 : " + sum);
	}
	
//	예제 3 - 8단 구구단 출력
	static void whileloop3() {
		int i=1;
		System.out.println("[ 8단 ]");
		while(i<10) {
			// 증감식을 한 줄에 표현 가능(위치 중요)
			System.out.println("8 * " + i + " = " + (8*i++));
			//i++;
		}
	}

//	* 예제 4 - 중첩 while문을 사용하여 별 짓기
	static void whileloop4() {
		int i = 0;
		
		while(i<10) {
			// j의 선언 위치 중요하다.
			int j = 0;
			while(j<i+1) {
				
				System.out.print("*");
				j++;
			}
			System.out.println("");
			i++;
		}
	}
	
//	예제 5 - 2~9단 구구단 출력하기
	static void whileloop5() {
		int i = 2;

		while(i<10) {
			System.out.println("[ " + i + "단 ]");
			int j = 1;
			while(j<10) {
				System.out.println(i + " * " + j + " = " + (i*j));
				j++;
			}
			System.out.println("");
			i++;
		}
	}

//	예제 6 - do-while문
	static void whileloop6() {
		int i=0;
		do {
			i++;
			System.out.println(i);
		}while(i<10);
	}

//	예제 7 - 사용자로부터 한 개의 정수를 입력받아서 짝수/홀수인지 출력하고 0이 입력되면 프로그램을 종료한다.
//	조건 : do-while문으로 구현한다.
	static void whileloop7() {
		int num;
		do {

			System.out.println("정수를 입력하세요\n0이 입력되면 프로그램 종료");
			Scanner s = new Scanner(System.in);
			num = s.nextInt();
			
			if(num == 0) {
				System.out.println("프로그램을 종료합니다.");
				break;
				}
			else if(num % 2 == 0) {
				System.out.println("짝수");
				}
			else {
				System.out.println("홀수");
				}
		}while(num!=0);
	}

//	예제 8 - 1을 누르면 1~6 난수 값, 0을 누르면 프로그램이 종료되는 while문
	static void whileloop8() {

		int num = 1;
		int rnd;
		System.out.println("[ 랜덤 값을 생성하는 프로그램 ]\n");
		
		while(num != 0) {
			System.out.println("1 : 난수 값 생성, 0 : 프로그램 종료");
			Scanner s = new Scanner(System.in);
			num = s.nextInt();
			
			if (num == 1) {
				rnd = (int)(Math.random()*6) + 1;
				System.out.println("난수 : " + rnd);
			}
			else if (num == 0) {
				System.out.println("프로그램 종료");
				break;
			}
			else {
				System.out.println("숫자를 잘못 입력하셨습니다.");
			}
		}
	}
	
//	예제 8(2) - 1을 누르면 1~6 난수 값, 0을 누르면 프로그램이 종료되는 do-while문
	static void whileloop8_2() {
		
		int num = 1;
		int rnd;
		System.out.println("[ 랜덤 값을 생성하는 프로그램 ]\n");
		
		do {
			System.out.println("1 : 난수 값 생성, 0 : 프로그램 종료");
			Scanner s = new Scanner(System.in);
			num = s.nextInt();
			
			if (num == 1) {
				rnd = (int)(Math.random()*6) + 1;
				System.out.println("난수 : " + rnd);
			}
			else if (num == 0) {
				System.out.println("프로그램 종료");
				break;
			}
			else {
				System.out.println("숫자를 잘못 입력하셨습니다.");
			}
		}while(num != 0);

	}

//	예제 8(3) - 예제 8에서 난수 범위를 사용자가 설정하게 하기
	static void whileloop8_3() {
		int num = 1, max_num = 0;
		int rnd;
		
		System.out.println("[ 랜덤 값을 생성하는 프로그램 ]\n");
		System.out.println("몇 까지의 난수를 발생할까요?");
		Scanner s2 = new Scanner(System.in);
		max_num = s2.nextInt();
		
		while(num != 0) {
			System.out.println("1 : 난수 값 생성, 0 : 프로그램 종료");
			Scanner s = new Scanner(System.in);
			num = s.nextInt();
			
			if (num == 1) {
				rnd = (int)(Math.random()*max_num) + 1;
				System.out.println("난수 : " + rnd);
			}
			else if (num == 0) {
				System.out.println("프로그램 종료");
				break;
			}
			else {
				System.out.println("숫자를 잘못 입력하셨습니다.");
			}
		}
	}
	
	
//	예제 9 - break문 사용하기. 1부터 하나씩 증가하는 숫자의 합이 최초로 100을 넘길 때 그 합과 얼마까지의 합인지 출력
//	--> 얼마까지의 합이 최초로 100을 넘는지, 그 때의 합과 숫자를 출력
//	결과 : i = 14 / sum = 105
	static void whileloop9() {
		int sum = 0;
		int i = 0;
		
		while(true) {
			if(sum > 100) break;
			++i;
			sum += i;
		}
		System.out.println("i = " + i);
		System.out.println("sum = " + sum);
	}

//	예제 10 - 3의 배수를 제외하고 출력하기
	static void whileloop10() {
		for(int i=0; i<=10; i++) {
			if (i%3 == 0) continue;
			System.out.println(i);
		}
	}
	
	/*---------------추가----------------*/
//	예제 - 난수 발생 함수 Math.random()
	static void random() {
		// 1~10까지 난수 발생
		// 0.0 <= Math.round() < 1.0
		int num = (int)(Math.random() * 10) + 1;
		System.out.println(num);
	}
}
728x90
반응형

댓글