참고) [ Ctrl + Shift+ O ] : import 단축키


배열의 선언방법

int[] array  = new int[100]; 

 - 여기서 new라는 것은 어떠한 인스턴스를 만들 때 쓰는 약속 예약어이다.

 - 대괄호[]로 배열을 선언하고, 배열의 크기를 우항에 넣는다.

 - 변수 array에는 100개의 배열을 가진다.

 - index라는 것은 0부터 출발해서, 99까지 차지한다. (크기 -1까지)





[1] 원하는 개수만큼 배열을 생성 하고, 입력한 다음, 최대값을 구하는 프로그램을 작성해보자.


1. 최대값을 반환하는 max()매쏘드를 하나 만들어준다. 

public static int max(int a, int b) {

return a>b?a : b;

}

2. 메인함수 안에 Scanner 를 선언한다. sc를 이용해서 사용자에게 배열의 크기를 입력받을 것이다. print도 찍어준다.

3. sc를 이용해서 정수를 받고, int number에 입력 받는다. 입력받을 변수를 이용해서 배열을 만든다.

4. for문을 통해 0부터 number-1까지 1씩 증가시키면서 index값으로서 사용하며, for문 안에서는 배열을 입력받고 그것을 배열안에 넣어준다.

5. int result =-1;을 선언하고, for문을 돌리면서,  max()함수를 이용해 최대값이 들어가는 result 와  각 배열 index[0]부터 [number-1]까지 최대값을 비교해서 result에 집어넣어준다.

6. 최대값 result를 출력한다.


import java.util.Scanner;


public class Main {


public static int max(int a, int b) {

return a>b?a : b;

}

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);

System.out.print("생성할 배열의 크기를 입력하세요 : ");

int number = sc.nextInt();

int[] array = new int[number];

for(int i = 0; i <number ;i++) {

System.out.print("index["+i+"]"+"번째 배열에 넣을 값을 입력해주세요(양수) : ");

array[i] = sc.nextInt();

}

int result = -1;

for (int i = 0; i<number ; i++) {

result=max(result, array[i]);

}

System.out.println("배열 중 최대값 : "+result);

}


}



7. 출력값

생성할 배열의 크기를 입력하세요 : 5

index[0]번째 배열에 넣을 값을 입력해주세요(양수) : 1

index[1]번째 배열에 넣을 값을 입력해주세요(양수) : 10

index[2]번째 배열에 넣을 값을 입력해주세요(양수) : 54

index[3]번째 배열에 넣을 값을 입력해주세요(양수) : 3

index[4]번째 배열에 넣을 값을 입력해주세요(양수) : 2

배열 중 최대값 : 54



[2] 100개의 랜덤 정수의 평균을 구하는 프로그램을 작성해보자.

1. 100개짜리 배열을 선언하고, for문에는 index만큼 0부터 99까지 돌린다.

2. 각 배열[index]마다, Math.random() * 100 + 1 을 넣어준다. 이 때 double이므로, int로 캐스팅 해야한다. 

   이때, Math.random() 0 <= x < 1 사이의 랜덤한 수를 가져오기 때문에, 100을 곱해서 0<= 100x< 100 가 되고, +1을 더해서 1<=x<101 이게 된다. 이제 형변환으로 정수가 나오게 된다.


3. for문을 돌려서 array[i] 100개를 모두 sum에 넣은 뒤에, 그 값을 출력해준다.


int[] array= new int[100];

for(int i = 0;i<100;i++) {

array[i] = (int) (Math.random() * 100 + 1);

}

int sum = 0;

for(int i = 0; i<100;i++) {

sum+=array[i];

}

System.out.println("100개의 랜덤 정수의 평균 : "+ sum/100);;

}


+ Recent posts