Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Everything has an expiration date

★ 059 - 3중 for문 resultI 수식의 결과가 2~9를 표현 하는 게 맞는지 확인하는 프로그램 + 사용자에게 행과 열을 입력 받는 부분을 더 추가한 소스 본문

[Java]/review

★ 059 - 3중 for문 resultI 수식의 결과가 2~9를 표현 하는 게 맞는지 확인하는 프로그램 + 사용자에게 행과 열을 입력 받는 부분을 더 추가한 소스

Jelly-fish 2023. 9. 1. 02:47

◎ 3중 for문에서, 단의 값을 행값 h를 사용해 표현한 resultI 수식의 결과값이 맞는지 확인해 보는 소스

package Mytest000;

public class Mytest000 {
	public static void main(String[] args)
	{
		int i,j;
		int result;
		
		for (j = 1 ; j <= 2 ; j++)
		{
			for (i = 2 ; i <= 5 ; i++)
			{
				result = ((j-1) * 4 ) + i;
						// ▶ ((행 - 1) * 열) + i
				System.out.println("[연산 결과] : " + result);

			}
		}
		
		System.out.println(" ▶ 따라서, 수식 [ i + ((행값 - 1) * 열)은");
		System.out.println("   2 ~ 9까지의 값을 모두 나타내는 것을 확인할 수 있다.");
	}

}

 

◎ 사용자에게 행과 열의 값을 입력받고, 이를 출력해 주는 프로그램 (~ing)

// 만약, 사용자로부터 열과 행을 입력받는다면?

import java.util.Scanner;


public class Mytest5
{
	public static void main(String[] args)
	{
		// 1. 변수 선언 **************************************************************************
		
		Scanner sc = new Scanner(System.in);

		int i;			//--> 구구단의 단을 출력하는 변수 i 	    →  (2 * 1	3 * 1	4 * 1	5 * 1) 
						//									   ---     ---     ---	   ---
						//									    i		i		i		i
		
		
		int j;			//--> 구구단의 곱하는 수를 출력하는 변수 j	→  (2 * 2	3 * 2	4 * 2	5 * 1)
						//										   ---      ---     ---	   ---
						//										    j		 j		 j		j
		
		int k;

		int column;		//--> 구구단의 행을 나타내는 변수 column 		↑ 행 = 2행 (2줄)
		int row;		//--> 구구단의 열을 나타내는 변수 row			↑ 열 = 4열 (한 줄 당 4개 값)	
		
		int resultI;		//--> ★☆★☆★☆ [ i + ( 열의 값(=4) * 행값-1) ]의 값을 담는 변수. i 대신 구구단 출력의 단이 되어준다.
		

		System.out.print("행의 값을 입력하세요 : ");
		column = sc.nextInt();

		System.out.print("열의 값을 입력하세요 : ");
		row = sc.nextInt();


		// 2. 3중첩 for문을 이용해 Logic을 처리한다.***************************************************
		
		for (k = 1; k <= column ; k++)								//--- 구구단 출력의 행을 나타내는 부분.
		{
		
			for (j = 1; j <= 9 ; j++)							//--- 구구단 출력의 곱하는 수를 나타내는 부분. 
			{
				for ( i = 2 ; i <= (row+1) ; i++ )				//[ i + ( 열의 값(=4) * 행값-1) ]
				{
					
					
					resultI = i + ((k-1) * row);		
					
					//System.out.print("[resultI] : " + resultI);

					if(resultI >= 10)
					{
						break;
					}
					else
					{
						//System.out.println("[i] : " + i);
						//System.out.println("[열 * (행-1)] : " + (row * (k-1)));
						
						// ↓ ★☆ 이번 for문 3중첩 Logic의 keyPoint 변수!! 『 resultI 』
									

						System.out.printf("%2d * %2d = %2d   ", resultI, j, (resultI * j));
					}
				}//end for i
				
				if (column < 10)
				{
					System.out.println();
				}
				
				
			}//end for j
			
			if (resultI <= 10)
			{
				System.out.println();
			}
			
			
		}//end for k


	}
}


// 실행 결과


/*
 2 *  1 =  2    3 *  1 =  3    4 *  1 =  4    5 *  1 =  5   
 2 *  2 =  4    3 *  2 =  6    4 *  2 =  8    5 *  2 = 10   
 2 *  3 =  6    3 *  3 =  9    4 *  3 = 12    5 *  3 = 15   
 2 *  4 =  8    3 *  4 = 12    4 *  4 = 16    5 *  4 = 20   
 2 *  5 = 10    3 *  5 = 15    4 *  5 = 20    5 *  5 = 25   
 2 *  6 = 12    3 *  6 = 18    4 *  6 = 24    5 *  6 = 30   
 2 *  7 = 14    3 *  7 = 21    4 *  7 = 28    5 *  7 = 35   
 2 *  8 = 16    3 *  8 = 24    4 *  8 = 32    5 *  8 = 40   
 2 *  9 = 18    3 *  9 = 27    4 *  9 = 36    5 *  9 = 45   

 6 *  1 =  6    7 *  1 =  7    8 *  1 =  8    9 *  1 =  9   
 6 *  2 = 12    7 *  2 = 14    8 *  2 = 16    9 *  2 = 18   
 6 *  3 = 18    7 *  3 = 21    8 *  3 = 24    9 *  3 = 27   
 6 *  4 = 24    7 *  4 = 28    8 *  4 = 32    9 *  4 = 36   
 6 *  5 = 30    7 *  5 = 35    8 *  5 = 40    9 *  5 = 45   
 6 *  6 = 36    7 *  6 = 42    8 *  6 = 48    9 *  6 = 54   
 6 *  7 = 42    7 *  7 = 49    8 *  7 = 56    9 *  7 = 63   
 6 *  8 = 48    7 *  8 = 56    8 *  8 = 64    9 *  8 = 72   
 6 *  9 = 54    7 *  9 = 63    8 *  9 = 72    9 *  9 = 81   
 */