크게 어려운 것은 없다.
머리를 안 쓴지 오래 되어서 배열 뒤섞기 할 때는 조금 띵~ 했다.
1. 최소값 최대값 구하기
최소값에 0번 인덱스가 아니라 5번 인덱스를 설정한 건 0번 인덱스가 이미 최소 값이라서.. 별 이유는 없다.
먼저 최대값과 최소값에 각각 배열의 아무 인덱스나 대입해준 뒤 반복문을 돌려서 최대값보다 크면 최대값을 바꿔주고 최소값보다 작으면 최소값을 바꿔주면 끝.
2. 합계 및 평균 구하기
합계를 대입해줄 변수를 만들어준 뒤 반복문으로 모든 수를 더해서 넣어주면 된다.
평균은 당연히 배열의 인덱스 수만큼 나누어주면 끝.
3. 배열 뒤섞기
머리가 굳어있으면 잠시 혼란이 올 수 있는데 노트 펼쳐서 순서대로 적어보면 별 거 없다.
1. 초기 배열을 만든다.
2. 반복문 내에서 난수를 생성한다. 이 난수는 인덱스와 대응하기 위한 것이기 때문에 최대값이 index.length - 1이여야 한다.
=> 당연한 거지만 반복문에서 난수를 생성해야 값이 계속 바뀌기 때문에 반복문 밖에서 생성하면 안된다.
3. 인덱스의 값을 스왑하기 위해 임시 저장소로 사용할 변수를 선언한다.
4. 임시 저장소에 0번 인덱스의 값을 저장한다.
5. 0번 인덱스에 배열[난수]의 값을 저장한다.
6. 원래 0번 인덱스에 있던 값을 배열[난수]에 저장한다.
이를 활용하여 로또 번호를 생성하는 코드를 만들 수 있다.
위에서 모두 설명했기 때문에 추가 설명은 없다.
이미 랜덤하게 섞어놨기 때문에 굳이 한 번 더 돌릴 필요는 없으나 나는 한 번 더 돌렸다.
이거 다섯 번 돌려서 로또 한 장 살 예정이다. 당첨되면 치킨 돌립니다.
'Language & Framework > Java' 카테고리의 다른 글
자바의 특성 단일상속, 그리고 단점 보완하기. (0) | 2022.06.04 |
---|---|
자바 멤버 변수의 초기화 순서 예제 (0) | 2022.06.03 |
자바 재귀 호출은 무엇인가? : factorial, 거듭제곱의 합 구하기 (0) | 2022.06.02 |
자바 2차원 배열 : 빙고, 행렬 곱셈, 단어 퀴즈 (0) | 2022.06.01 |
자바 배열 : 정렬하기(sort), 값 카운트하기 (0) | 2022.05.31 |