JAVA

public class Test087
{
	public static void main(String[] args)
	{
		// 배열의 배열 선언과 생성 그리고 초기화
		// 방법 ①

		//int[] arr1 = new int[3];
		int[][] arr1 = new int[3][3];

		//arr1[0] = 1;
		arr1[0][0] = 1;
		arr1[0][1] = 2;
		arr1[0][2] = 3;
		arr1[1][0] = 4;
		arr1[1][1] = 5;
		arr1[1][2] = 6;
		arr1[2][0] = 7;
		arr1[2][1] = 8;
		arr1[2][2] = 9;

		// 방법 ②
		//int[] arr2 = {1,2,3};
		int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

		// 방법 ③
		int[][] arr3 = new int[3][3];
		int n = 1;
		for (int i = 0; i < 3; i++)		// 웅~~~!!!		// 0 1 2	→ 층
		{
			for (int j = 0; j < arr3[i].length; j++)
			{
				// 테스트
				// System.out.println("i:" + i + ", j:" + j);
				arr3[i][j] = n;	// 00=1 01=2 02=3 10=4 11=5 12=6 ...
				n++;
			}
		}
		
		// 배열의 배열 요소 전체 출력
		for (int i = 0; i < arr3.length; i++)
		{
			for (int j = 0; j < arr3[i].length; j++)
			{
				System.out.printf("%2d", arr3[i][j]);
			}
			System.out.println();
		}
		System.out.println();
	}
}

// 실행 결과
/*
 1 2 3
 4 5 6
 7 8 9

계속하려면 아무 키나 누르십시오 . . .
*/

※ 사용자로부터 학생 수를 입력받고 그 만큼의 점수(정수 형태)를 입력받아 전체 학생 점수의 합, 평균, 편차를 구하여 결   과를 출력하는 프로그램을 구현한다.

 단, 배열을 활용하여 처리할 수 있도록 한다.

 실행 예)
 학생 수 입력 : 5
 1번 학생의 점수 입력 : 90
 2번 학생의 점수 입력 : 82
 3번 학생의 점수 입력 : 64
 4번 학생의 점수 입력 : 36
 5번 학생의 점수 입력 : 98

 

 >> 합 : 370
 >> 평균 : 74.0
 >> 편차---------------------------//평균값을 기준으로 얼마나 차이가 나는지
 90 : -16.0
 82 : -8.0
 64 : 10.0
 36 : 38.0
 98 : -24.0
 계속하려면 아무 키나 누르세요...


import java.util.Scanner;

public class Test086
{
	public static void main(String[] args)
	{
		// Scanner 인스턴스 생성
		Scanner sc = new Scanner(System.in);
		
		// 주요 변수 선언
		int n;											// 입력받을 학생수를 저장할 변수
		int[] arr;										// 학생들 점수를 저장할 배열 변수 선언
		int sum = 0;									// 학생들 점수의 누적합을 저장할 변수
	

		System.out.print("학생 수 입력 : ");
		n = sc.nextInt();
		arr = new int[n];								// 입력받은 학생수를 이용하여 선언된 배열 arr을 초기화
		
		// 점수 입력받기
		for(int i = 0; i < arr.length; i++)
		{
			System.out.printf("%d번 학생의 점수 입력 : ", i+1);
			arr[i] = sc.nextInt();
			sum+=arr[i];
		}

		double avg = sum / arr.length;					// 평균값 저장
		System.out.println();
		System.out.println(">> 합 : " + sum);
		System.out.println(">> 평균 : " + avg);
		System.out.println(">> 편차---------------------------");


		// 편차 = 점수 - 평균 
		
		double[] dev = new double[arr.length];				// 편차를 저장할 배열변수를 arr배열의 길이에 맞게 선언 및 초기화
		
		for(int i = 0; i < arr.length; i++)
		{
			dev[i] = avg - arr[i];
		}

		for(int i = 0; i < arr.length; i++)
		{
			System.out.println(">>" + arr[i] + " : " + dev[i]);
		}
	}
}

실행 결과

// 실행 결과
/*
학생 수 입력 : 5
1번 학생의 점수 입력 : 90
2번 학생의 점수 입력 : 82
3번 학생의 점수 입력 : 64
4번 학생의 점수 입력 : 36
5번 학생의 점수 입력 : 98

>> 합 : 370
>> 평균 : 74.0
>> 편차---------------------------
>>90 : -16.0
>>82 : -8.0
>>64 : 10.0
>>36 : 38.0
>>98 : -24.0
계속하려면 아무 키나 누르십시오 . . .
*/

※ 사용자로부터 임의의 정수를 임의의 갯수만큼 입력받아 입력받은 수 중에서 가장 큰 수를 출력하는 프로그램을 작성한다.

단, 배열을 활용하여 구현할 수 있도록 한다.

 실행 예)
 입력할 데이터의 갯수   : 10
 데이터 입력(공백 구분) : 74 65 95 13 2 86 7 12 25 64
 >> 가장 큰 수 → 92
 계속하려면 아무 키나 누르세요...


import java.util.Scanner;

public class Test085
{
	public static void main(String[] args)
	{
		// Scanner 인스턴스 생성
		Scanner sc = new Scanner(System.in);
		
		// 주요 변수 선언
		int n;					// 입력할 데이터의 갯수를 입력받을 변수 선언

		// 안내 메세지 출력
		System.out.print("입력할 데이터의 갯수   : ");
		n = sc.nextInt();
		
		// 배열 선언
		int[] arr = new int[n];

		System.out.print("데이터 입력(공백 구분) : ");
		for(int i = 0; i < arr.length; i++)
		{
			arr[i] = sc.nextInt();
		}

		int max = 0;				// 최댓값을 구하기 위한 변수 선언

		// 최댓값 구하기
		for(int i = 0; i < arr.length; i++)
			if(arr[i] >= max)
				max = arr[i];
		
		// 결과 출력
		System.out.println(">> 가장 큰 수 → " + max);
		
	}
}

 

실행 결과

// 실행 결과 
/*
입력할 데이터의 갯수   : 4
데이터 입력(공백 구분) : 2 54 15 5
>> 가장 큰 수 → 54
계속하려면 아무 키나 누르십시오 . . .
*/

※ 사용자로부터 처음 입력받은 인원 수 만큼의 학생 이름과 전화번호를 입력받고, 입력받은 내용을 전체 출력하는 프로그램을 구현한다.
단, 배열을 활용하여 처리할 수 있도록 한다.
 
 실행 예)
 입력 처리할 학생 수 입력(명, 1~10) : 27
 입력 처리할 학생 수 입력(명, 1~10) : 3

 이름 전화번호 입력[1](공백 구분) : 주재완 010-1111-1111
 이름 전화번호 입력[2](공백 구분) : 정의진 010-2222-2222
 이름 전화번호 입력[3](공백 구분) : 안혜지 010-3333-3333 

 -----------------------
 전체 학생 수 : 3명
 -----------------------
 이름 전화번호
 주재완 010-1111-1111
 정의진 010-2222-2222
 안혜지   010-3333-3333
 -----------------------
 계속하려면 아무 키나 누르세요...


방법 ①

import java.util.Scanner;

public class Test084
{
	public static void main(String[] args)
	{
		// Scanner 인스턴스 생성
		Scanner sc = new Scanner(System.in);

		// 주요 변수 선언
		int n;					// 입력 받을 학생 수를 저장할 정수 변수
		String stuName[] = new String[10];	// 입력 받을 학생의 이름을 저장할 문자열 변수 배열
		String stuNumber[] = new String[10];	// 입력 받을 학생의 전화번호를 저장할 문자열 변수 배열
		
		// 처리할 학생수 입력받기
		do
		{
			System.out.printf("입력 처리할 학생 수 입력(명, 1~10) : ");
			n = sc.nextInt();
		}
		while (n < 1 || n > 10);
		
		// 입력받은 학생수만큼 반복하여 이름 전화번호 입력받기
		for(int i = 0; i < n; i++)
		{
			System.out.printf("이름 전화번호 입력[%d](공백 구분) : ", i);
			stuName[i] = sc.next();
			stuNumber[i] = sc.next();
		}

		// 결과 출력
		System.out.printf("-----------------------\n전체 학생 수 : %d명\n-----------------------\n",n);
		System.out.printf("이름\t\t전화번호\n");

		for(int i = 0; i < n; i++)
		{
			System.out.println(stuName[i] + "\t\t" + stuNumber[i]);
		}
	}

}

방법 ②

		// Scanner 인스턴스 생성
		Scanner sc = new Scanner(System.in);
		
		// 사용자가 입력하는 학생 수를 담아둘 변수
		int memCount = 0;

		do
		{
			System.out.print("입력 처리할 학생 수 입력(명, 1~10) : ");
			memCount = sc.nextInt();
		}
		while (memCount < 1 || memCount > 10);

		// 테스트(확인)
		//System.out.println("사용자가 입력한 인원 수 : " + memCount);
		
		// 이름 저장 배열 구성
		String[] names = new String[memCount];

		// 전화번호 저장 배열 구성
		String[] tels = new String[memCount];
		//-- "String[] tels = new String[names.length];" 와 동일한 구문
		
		//for (int i = 0; i < tels.length ; i++)
		// for (int i = 0; i < names.length ; i++) 
		for (int i = 0; i < memCount ; i++)
		{
			System.out.printf("이름 전화번호 입력[%d](공백 구분) : ", (i + 1));
			// 주재완 010-1111-1111
			// 정의진 010-2222-2222
			
			names[i] = sc.next();
			tels[i] = sc.next();
			
		}
		
		// 최종 결과(이름, 전화번호) 출력
		System.out.println();
		System.out.println("-----------------------");
		System.out.printf("전체 학생 수 : %d명", memCount);	
		System.out.println("-----------------------");	
		System.out.println("이름		전화번호");

		for (int i = 0; i< memCount ; i++ )
			System.out.println(names[i],tels[i]);
	

		


실행 결과

// 실행 결과
/*
입력 처리할 학생 수 입력(명, 1~10) : 3
이름 전화번호 입력[0](공백 구분) : 조윤상 010-1111-1111
이름 전화번호 입력[1](공백 구분) : 주재완 010-2222-2222
이름 전화번호 입력[2](공백 구분) : 안혜지 010-3333-3333
-----------------------
전체 학생 수 : 3명
-----------------------
이름            전화번호
조윤상          010-1111-1111
주재완          010-2222-2222
안혜지          010-3333-3333
계속하려면 아무 키나 누르십시오 . . .
*/

※ "char" 자료형의 배열을 만들어 그 배열의 각 방에 알파벳 대문자를 채우고 채워진 그 배열의 전체 요소를 출력하는 프로그램을 구현한다. 단, 채우는 구문과 출력하는 구문은 따로 분리하여 처리한다.

 실행 예) 
 A B C D E F G ... W X Y Z
 계속하려면 아무 키나 누르세요...


public class Test083
{
	public static void main(String[] args)
	{
    	char[] alphabet = new char[26];
		
		for(int i = 0 , j = 65; j <= 90; i++,j++)
		{
			alphabet[i] = (char)j;
		}
	
//		for(int i = 65; i <= 90; i++)
//		{
//			alphabet[i-65] = (char)i;
//		}
		
		for(int i = 0; i < alphabet.length; i++)
		System.out.printf("%c ", alphabet[i]);
	}
}

 

실행 결과

// 실행 결과
/*
실행 예)  
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
계속하려면 아무 키나 누르세요...
*/

'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글

Test085 배열의 기본적 활용(4)  (1) 2020.09.05
Test084 배열의 기본적 활용(3)  (0) 2020.09.05
Test082 배열의 기본적 활용(1)  (0) 2020.09.05
Test081 배열의 개요  (0) 2020.09.05
표기법 정리  (1) 2020.09.05

※ 임의의 정수들이 들어있는 배열의 숫자 데이터들 중 짝수의 요소만 골라서 출력하고, 3의 배수인 요소만 골라서 출력     하는 프로그램을 구현한다.

 배열을 구성하는 임의의 정수 → 4 7 9 1 3 2 5 6 8

 실행 예)
 배열 요소 전체 출력
 4 7 9 1 3 2 5 6 8
 짝수 선택적 출력
 4 2 6 8
 3의 배수 선택적 출력
 9 3 6
 계속하려면 아무 키나 누르세요...


public class Test082
{
	public static void main(String[] args)
	{
		// 배열 선언 및 생성 그리고 초기화
		// 방법 ①

		/*int[] arr = new int[9];
		arr[0] = 4;
		arr[1] = 7;
		arr[2] = 9;
		arr[3] = 1;
		arr[4] = 3;
		arr[5] = 2;
		arr[6] = 5;
		arr[7] = 6;
		arr[8] = 8;
		*/

		// 방법 ② 
		int [] arr = {4, 7, 9, 1, 3, 2, 5, 6, 8};

		
		// 테스트(확인)
		//System.out.println(arr);
		//--==>> [I@15db9742

		// ※ 일반적인 변수에 담긴 내용을 출력하는 형식(방법)으로는
		// 배열에 담긴 데이터들을 출력할 수 없다.
/*
		System.out.println("배열 요소 전체 출력");
		for(int i = 0; i < 9; i++)
		{
			System.out.print(arr[i] + " ");
		}
		System.out.println();
*/
		int[] arr2 = {4, 7, 9 ,1,2,5,8,9,7,4,5,6,2,1,8,7,9,5,6,1,1,3,5,8,4,4,5,6,9,9,4,5,6,2,1,8,7,9,5,6,4,5,6,2,1,8,7,9,5,6,4,5,6,2,1,8,7,9,5,6,4,5,6,2,1,8,7,9,5,6,4,5,6,2,1,8,7,9,5,6,4,5,6,2,1,8,7,9,5,6};


		System.out.println("arr2.length : " + arr2.length);
		System.out.println("arr2.length : " + arr.length);


		System.out.println("배열 요소 전체 출력");

		for(int i = 0; i < arr.length; i++)		// i → 0 1 2 3 4 5 6 7 8
		{
			System.out.print(arr[i] + " ");
		}
		System.out.println();
		//--==>> arr2.length : 90
		//		 arr2.length : 9
		//	     배열 요소 전체 출력
		//		 4 7 9 1 3 2 5 6 8

		System.out.println("짝수 선택적 출력");
		for(int i=0;i<arr.length;i++)
		{	
			/*
			if(i%2==0)		//i 가 짝수라면... → 짝수 번째에 해당하는 요소라면...
			{
				System.out.println(arr[i] + " ");	
			}
			*/

			if(arr[i] % 2 == 0)
			{
				System.out.print(arr[i] + " ");
			}
		}
		System.out.println();
		//--==>> 짝수 선택적 출력
		//		 4 2 6 8


		System.out.println("3의 배수 선택적 출력");
		for(int i = 0; i < arr.length; i++)
		{
			if(arr[i] % 3 == 0)
			{
				System.out.print(arr[i] +" ");
			}
		}
		System.out.println();
		//--==>> 3의 배수 선택적 출력
		//		 9 3 6
	
	}
}

+ Recent posts