본문 바로가기
프로그래밍/JAVA

자바의 정석 기초 (배열의 활용 / 총점 / 평균 / 최대값 / 최소값 / 숫자 섞기 / 로또번호 생성 )

by ✲ 2020. 6. 29.
반응형

남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 

 

배열의 활용 

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 = {1008810010090};
        
        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 = {798833,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 사용으로 결과값 계속 바뀜 

반응형

댓글