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]);
}
}