반응형
남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다.
배열의 활용
1. 배열 총점 , 평균값 구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public class Ex5_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
float average = 0f;
int[] score = {100, 88, 100, 100, 90};
for(int i=0; i<score.length; i++) {
sum += score[i];
}
average = sum / (float)score.length; //계산결과를 float 타입으로 얻기 위해 형변환
System.out.println("총점: " + sum);
System.out.println("평균: " + average);
}
}
|
cs |
출력
총점 : 478
평균 : 95.6
2. 최대값 , 최소값 구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class Ex5_5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] score = {79, 88, 33,100,55,95};
int max = score[0];
int min = score[0];
for(int i = 1; i<score.length ; i++) { //배열의 두 번째 요소부터 읽기 위해서 변수 i의 값을 1로 초기화
if(score[i]>max) {
max = score[i];
}else if(score[i]<min) {
min = score[i];
}
}
System.out.println("최대값:" +max);
System.out.println("최소값:" +min);
}
}
|
cs |
출력
최대값:100
최소값:33
3. 배열 숫자 섞기 (배열의 순서 바꾸기)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.Arrays;
public class Ex5_6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 섞기(Shuffle) 배열의 요소의 순서를 반복해서 바꾼다. (숫자 섞기, 로또번호 생성)
int[] numArr = {0,1,2,3,4,5,6,7,8,9};
System.out.println(Arrays.toString(numArr));
for(int i = 0; i<numArr.length; i++) {
int n = (int)(Math.random() *10); // 0~9 임의의 수
int tmp = numArr[i];
numArr[i] = numArr[n];
numArr[n] = tmp;
}
System.out.println(Arrays.toString(numArr));
}
}
|
cs |
출력
[0,1,2,3,4,5,6,7,8,9]
[0,6,1,5,7,3,8,4,2,9] <- Math.random() 사용으로 결과값은 계속 바뀜
4. 로또 번호 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public class Ex5_7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 섞기(Shuffle) 배열의 요소의 순서를 반복해서 바꾼다. (숫자 섞기, 로또번호 생성)
int[] ball = new int[45];
for(int i =0; i<ball.length; i++)
ball[i] = i+1; //ball[0] = 1이 저장
int tmp = 0;
int j = 0;
for(int i =0; i<6; i++) {
j=(int)(Math.random()*45); //0~44까지의 범위
tmp = ball[i];
ball[i] = ball[j];
ball[j] = tmp;
}
for(int i =0; i<6;i++) {
System.out.printf("ball[%d]=%d%n",i,ball[i]);
}
for(int i =0; i<6; i++) {
System.out.print(ball[i]+" ");
}
}
}
|
cs |
출력
ball[0]=29
ball[1]=43
ball[2]=13
ball[3]=14
ball[4]=15
ball[5]=4
29 43 13 14 15 4 <- Math.random() 사용으로 결과값은 계속 바뀜
5. 가위바위보 참고용 (가위, 바위, 보 게임 만들 때 참고용)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import java.util.Arrays;
public class Ex5_1_tmp {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] strArr = {"가위","바위","보"};
System.out.println(Arrays.toString(strArr));
for(int i =0; i<3; i++) {
int tmp = (int)(Math.random()*3);
System.out.println(strArr[tmp]);
}
}
}
|
cs |
출력
[가위, 바위, 보]
가위
보
보 <- Math.random 사용으로 결과값 계속 바뀜
반응형
댓글