프로그래밍

자바 배열

JAVA
반응형

정수 5개 입력 받아서 가장 큰 수 출력하기

package ch2;
import java.util.Scanner;
import java.util.Random;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
		
		int arr[]= new int[5];
		int max = 0 ;
		System.out.println("양수 다섯개를 입력하세요");
		
		for (int i =0 ; i < 5; i++)
		{
			arr[i]= scan.nextInt();
			if (arr[i]>max)
				max = arr[i];
		}
		
		System.out.printf("가장 큰 수는 %d 입니다",max);
	}
}

가장 작은 수 출력

package ch2;
import java.util.Scanner;
import java.util.Random;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
		
		int arr[]= new int[5];
		int min = 9999 ;
		System.out.println("양수 다섯개를 입력하세요");
		
		for (int i =0 ; i < 5; i++)
		{
			arr[i]= scan.nextInt();
			if (arr[i]<min)
				min = arr[i];
		}
		
		System.out.printf("가장 작은 수는 %d 입니다",min);
		
	}
	
}

배열 오름차순으로 정렬

Arrays.sort(배열이름);

오름차순으로 정렬 후 가장 큰 값 출력

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
		
		int arr[]= new int[5];
		System.out.println("양수 다섯개를 입력하세요");
		
		for (int i =0 ; i < 5; i++)
			arr[i]= scan.nextInt();
			
		Arrays.sort(arr);
		System.out.printf("가장 큰 수는 %d 입니다",arr[4]);
	}
}

오름차순으로 정렬 후 가장 작은값 출력

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
		
		int arr[]= new int[5];
		System.out.println("양수 다섯개를 입력하세요");
		
		for (int i =0 ; i < 5; i++)
			arr[i]= scan.nextInt();
			
		Arrays.sort(arr);
		System.out.printf("가장 작은 수는 %d 입니다",arr[0]);
	}
}

 

배열의 크기만큼 정수 입력 후 평균 구하기

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
		
		int arr[]= new int[5];
		System.out.println("정수 다섯개를 입력하세요");
		
		double a = 0.0;
		
		for (int i =0 ; i <arr.length; i++)
		{
			arr[i]= scan.nextInt();
			a+= arr[i];
		}
		
		System.out.println("평균은 "+a/arr.length);
	}	
}

2차원 배열

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
	
		int arr[][] = new int [3][4];
		int val = 1;
		
		for (int i = 0; i<3 ; i++)
		{
			for (int j = 0 ; j<4 ; j++)
			{
				arr[i][j] = val;
				val ++;
			}
		}
		
		System.out.println("arr[0][0]~arr[2][3]");
		for (int i = 0; i<3 ; i++)
		{
			for (int j = 0 ; j<4 ; j++)
				System.out.printf("%3d ",arr[i][j]);
			System.out.println("");
		}
	}		
}

2차원 배열의 동적할당

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		Scanner scan = new Scanner (System.in);
		int row = scan.nextInt(); //행 수
		int col = scan.nextInt(); //열 수
	
		int arr[][] = new int [row][col];
		int val = 1;
		
		for (int i = 0; i<row ; i++)
		{
			for (int j = 0 ; j<col ; j++)
			{
				arr[i][j] = val;
				val ++;
			}
		}
		
		System.out.printf("arr[0][0]~arr[%d][%d]\n",row-1,col-1);
		for (int i = 0; i<row ; i++)
		{
			for (int j = 0 ; j<col ; j++)
				System.out.printf("%3d ",arr[i][j]);
			System.out.println("");
		}
	}		
}

===> 출력값 

3 5
arr[0][0]~arr[2][4]
  1   2   3   4   5 
  6   7   8   9  10 
 11  12  13  14  15 

 

System.arraycopy 활용

--> 예시

package ch2;

public class study1 {
	public static void main(String[] args)
	{
		int arr1 [] = {10,20,30,40,50};
		int arr2 [] = new int[4];
		
		System.arraycopy(arr1, 2, arr2, 1, 3);
		
		for (int i =0 ; i<arr2.length ;i++ )
			System.out.println("arr2["+i+"] = "+arr2[i]);
	}		
}

===>실행 결과

arr2[0] = 0
arr2[1] = 30
arr2[2] = 40
arr2[3] = 50

 

 

Arrays.copyof 활용

--> 예시

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		int arr1 [] = {10,20,30,40,50};
		int arr2 [] = Arrays.copyOf(arr1, 3);
		
		
		for (int i =0 ; i<arr2.length ;i++ )
			System.out.println("arr2["+i+"] = "+arr2[i]);
	}		
}

===> 실행 결과

arr2[0] = 10
arr2[1] = 20
arr2[2] = 30

 

배열을 순차적으로 접근하는 for-each문

-->예시

package ch2;

public class study1 {
	public static void main(String[] args)
	{
		int arr [] = {10,20,30,40,50};
		
		for (int i : arr)
			System.out.println(i);
	}		
}

===> 실행 결과

10
20
30
40
50

정수 배열 문자열로 변환하기

package ch2;
import java.util.Scanner;
import java.util.Arrays;

public class study1 {
	public static void main(String[] args)
	{
		int arr [] = {10,20,30,40,50};
		String get = Arrays.toString(arr);
		System.out.println(get);
	}		
}

--> 실행 결과

[10, 20, 30, 40, 50]

배열 리턴을 위해 참고

배열 리턴 받기

package ch2;

public class study1 {
	
	static int[] makeArray() {
		 int temp[] = new int[4];
		 for(int i=0; i<temp.length; i++)
			 temp[i] = i; // 배열 초기화, 0, 1, 2, 3
		 return temp; // 배열 리턴
		 }

	public static void main(String[] args)
	{
		int arr[]= makeArray();
		int arr2[] = makeArray();
		 for(int i=0; i<arr.length; i++)
			 System.out.print(arr[i] + " ");
		 System.out.println("");
         
		 for(int i=0; i<arr2.length; i++)
			 System.out.print(arr2[i] + " ");
	}		
}

--> 실행 결과

0 1 2 3 
0 1 2 3 
반응형

'JAVA' 카테고리의 다른 글

자바 배열 예제  (0) 2019.12.15
자바 버블정렬  (0) 2019.12.15
자바를 이용한 가위바위보 게임  (0) 2019.12.10
자바 반복문 (while 문)  (0) 2019.12.08
자바 랜덤 (random)  (0) 2019.12.08