Programming/Java

[기본 문법 정리] 2. 배열

mj73 2021. 6. 30. 16:08

1. 배열 선언

int [] grades; //정수형 배열 선언

grades = new int [5]; //크기가 5인 정수형 배열이 만들어짐

합치면 int[] grades = new int[5];

 

char [] word;
word = new char[10];

//합치면 char[] word = new char[10];

 

 

 

 

 

2. 문제(1) 배열을 이용한 간단한 프로그램

사용자로부터 n개의 정수를 입력받아서

정수들의 합과 최댓값을 구하는 프로그램

//n개의 정수를 입력받아
//합과 최대값을 구하여 출력하는 프로그램

import java.util.Scanner;

public class Example01 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in); //입력받는 객체
		int n = scanner.nextInt();
		
		int[] data =new int[n]; //배열 선언
		
		for(int i=0; i<n; i++)
			data[i] = scanner.nextInt();
		scanner.close();
		
		int sum =0;// 0으로 초기화
		int max = data[0]; //임의로 배열에서 0번째를 가장 큰 수라고 생각함.
		
		for(int i=0; i<n; i++) {
			sum += data[i]; //sum에 하나씩 저장
			if(data[i]>max)
				max = data[i]; //i번째가 더 크다면 max에 i번째 값을 저장
		}
		System.out.println("합: "+sum + "\n최댓값: " +max);
	}
}

 

 

 

3. 문제(2)

n개의 정수를 입력받아 순서대로 배열에 저장.

모든 정수들을 한 칸씩 오른쪽으로 shift 한다

마지막 정수는 배열의 첫 칸으로 이동한다

 

import java.util.Scanner;

public class Example02 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		
		int[] data =new int[n]; //배열 선언
		
		for(int i=0; i<n; i++)
			data[i] = scanner.nextInt();
		scanner.close();
		
		int temp = data[n-1]; //배열의 맨 마지막 값을 temp에 저장
		
		for(int i =n-2; i>=0; i--) //뒤에서부터
			data[i+1] = data[i];
		//i번째 있던 값을 i+1번째로 옮김
		
		data[0]=temp; //맨 마지막이었던 값을 맨 처음으로 옮김
		
		for(int i=0; i<n; i++)
			System.out.println(data[i]);
	}
}