본문 바로가기

📚Study Note/JAVA

[ JAVA ] while문 ②

/*==========================================
 ■■■  실행 흐름의 컨트롤 (제어문) ■■■
 - 반복문 (while문) 실습
 ===========================================*/

// 1 * 2 * 3 * .... * 10
//실행 예)
// 연산 결과 : xxxxxxxxxxxxxx
// 계속하려면 아무 키나

public class Test049
{
	public static void main(String[] args) 
	{
		int n=1;
		int mul=1;
		
		while (n<=10)
		{
			mul = mul * n;  //오잉 누적곱도 되네? mul *=n;
							//누적곱 연산을 할 때는 담을 변수를 1로 초기화 시켜줘야 한다.
							//만약 mul=0; 으로 초기화되면 연산 반복해도 0

			n++;

		}
		System.out.println("연산 결과 : " + mul);


	}

}
/*연산 결과 : 3628800
계속하려면 아무 키나 누르십시오 . . .
*/

 

 

 

 

/*==========================================
 ■■■  실행 흐름의 컨트롤 (제어문) ■■■
 - 반복문 (while문) 실습
 ===========================================*/

 // 사용자로부터 임의의 정수를 입력받아 입력받은 정수가... 소수인지 아닌지를 판별하여 결과를 출력하는 프로그램을 구현한다.

 // 실행 예) 
 // 임의의 정수 입력 : 10
 // 10 → 소수 아님
 // 계속하려면 아무키

 // 임의의 정수 입력 : 11
 // 11 → 소수
 

 //※ 1또는 자기 자신의 값이 약수 단 1은 소수가 아니다 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Test050
{
	public static void main(String[] args) throws IOException
	{



/*
		int num, i=1, a=0;

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		System.out.print("임의의 정수 입력 : ");
		num = Integer.parseInt(br.readLine());

		while (i<=num)

		{ 
			if(num%i==0) a++;
			i++;
		}
		if (a==2)	System.out.println(num + " → 소수");
		else	System.out.println(num + " → 소수 아님");*/

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int num;

		System.out.print("임의의 정수 입력 : ");
		num = Integer.parseInt(br.readLine()); //5200

		int n=2; // 사용자의 입력값을 대상으로 나눗셈 연산을 수행할변수(1씩 증가할 예정)

		boolean flag = true;

		while (n<num)
		{
			if (num % n ==0)
			{
				flag = false; //소수가 아니다
				break;
			}
		n++;


		}

			if (flag && num !=1) System.out.printf("%d → 소수\n", num);

		
			else System.out.printf("%d → 소수아님\n", num);	
		
		
	}
}

 

 

 

 

/*==========================================
 ■■■  실행 흐름의 컨트롤 (제어문) ■■■
 - 반복문 (while문) 실습
 ===========================================*/

 // 사용자로부터 임의의 두 정수를 입력받아 작은 수부터 큰 수 까지의 합을 구하여 결과를 출력하는 프로그램을 구현한다.

 // 실행 예)
 // 첫 번째 정수 입력 : 
 // 두 번째 정수 입력 : 20
 // >> 10 ~ 20 까지의 합 : xxxxxxxxxx
 //계속하려면 아무키나...

  // 첫 번째 정수 입력 : 10
 // 두 번째 정수 입력 : 2
 // >> 2 ~ 10 까지의 합 : xxxxxxxxxxx
 // 계속하려면 아무 키나...

 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.io.IOException;

public class Test051
{
	public static void main(String[] args) throws IOException
	{		

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	
		int n, su1, su2, result=0;
		
		
		System.out.print("첫 번째 정수 입력 : ");
		su1 = Integer.parseInt(br.readLine());

		System.out.print("두 번째 정수 입력 : ");
		su2 = Integer.parseInt(br.readLine());


		if (su1>su2)  //우선 비트연산을 통해서 두 수의 위치를 바꿔준다!!★★★★★
		{
			su1=su1^su2;
			su2=su2^su1;
			su1=su1^su2;
		}

		n = su1;

		while (n <= su2)
		{
			result +=n;
			n++;
		}

		System.out.printf(">> %d ~ %d 까지의 합 : %d\n", su1,su2, result);




		/*
		첫 번째 정수 입력 : 7
		두 번째 정수 입력 : 4
		>> 4 ~ 7 까지의 합 : 22
		계속하려면 아무 키나 누르십시오 . . .

		*/
		
	}
}

 

 

 

 

/*==========================================
 ■■■  실행 흐름의 컨트롤 (제어문) ■■■
 - 반복문 (while문) 실습
 ===========================================*/


 //사용자로부터 임의의 정수를 입력받아 1부터 그 수까지의 전체 합과, 
 //짝수의 합과, 홀수의 합을 각각 결과값으로 출력하는 프로그램을 구현한다.

 //실행 예)

 //임의의 정수 입력 : 284
 //>> 1 ~ 284 까지 정수의 합 : xxxx 
 //>> 1 ~ 284 까지 짝수의 합 : xxxxxx
 //>> 1 ~ 284 까지 홀수의 합 : xxxxx

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Test052
{
	public static void main(String[] args) throws IOException

	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int i=1, num, result=0, resEven=0, resOdd=0;

		System.out.print("임의의 정수 입력 : ");
		num = Integer.parseInt(br.readLine()); // 사용자에게 입력 받음

		while (i<=num) // 1~ 입력받은 수 의 횟수만큼 반복문 실행
		{
			result += i; // 정수의 합에 i 더함
			

			if (i % 2 ==0)
				resEven +=i; // i 가 짝수라면 짝수의 합을 담는 resEven에 i를 더함
			
			else
				resOdd +=i; // i 가 홀수라면 홀수의 값을 담는 resOdd에 i를 더함

			i++; //i를 1만큼 증가시킴

		}

		//연산이 모두 끝나면 결과값들을 출력

		System.out.printf(">> 1 ~ %d 까지 정수의 합 : %d\n", num, result);
		System.out.printf(">> 1 ~ %d 까지 짝수의 합 : %d\n", num, resEven);
		System.out.printf(">> 1 ~ %d 까지 홀수의 합 : %d\n", num, resOdd);
		
	}
}
/*[출력결과]
임의의 정수 입력 : 284
>> 1 ~ 284 까지 정수의 합 : 40470
>> 1 ~ 284 까지 짝수의 합 : 20306
>> 1 ~ 284 까지 홀수의 합 : 20164
계속하려면 아무 키나 누르십시오 . . .*/

 

 

 

 

/*==========================================
 ■■■  실행 흐름의 컨트롤 (제어문) ■■■
 - 반복문 (while문) 실습
 ===========================================*/

 //사용자로부터 원하는 단(구구단)을 입력받아 해당하는 구구단을 출력하는 프로그램을 구현한다. 
 // 단, 1단 ~ 9단 사이의 수를 입력받은 상황이 아니라면
 // 프로그램을 종료해버릴 수 있도록 처리한다.

 //실행 예)
 // 원하는 단(구구단) 입력 : 3
 // 3 * 1 = 3
 // 3 * 2 = 6
 // 3 * 3 = 9
 //  ...
 // 3 * 9 =27
 // 계속하려면아무키나

 // 원하는 단 입력 : 11
 // 1부터 9까지의 정수만 입력 가능합니다.
 // 계속하려면아무키나


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test053
{
	public static void main(String[] args) throws IOException
	{
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int dan, i=1;		
		
		System.out.print("원하는 단(구구단) 입력 : ");
		dan = Integer.parseInt(br.readLine());

	
		
		while (i<=9) 
		{

			if (dan>9)
			{
			System.out.println("1부터 9까지의 정수만 입력 가능합니다.");
			break;
			}
			System.out.printf("%d * %d = %d\n",dan,i,(dan*i));
			i++;
		}		
	}
}
/*
[출력결과]

원하는 단(구구단) 입력 : 3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
계속하려면 아무 키나 누르십시오 . . .

원하는 단(구구단) 입력 : 99
1부터 9까지의 정수만 입력 가능합니다.
계속하려면 아무 키나 누르십시오 . . .

*/

 

 

 

'📚Study Note > JAVA' 카테고리의 다른 글

[ JAVA ] for문을 활용해서 구구단출력, 별찍기  (0) 2021.03.13
[ JAVA ] do while문, for문  (0) 2021.03.13
[ JAVA ] while 문 ①  (0) 2021.03.13
[ JAVA ] SWITCH 문  (0) 2021.03.13
[ JAVA ] if ~ else문 ②  (0) 2021.03.13