-
[JAVA] 배열의 활용프로그래밍/JAVA 2015. 7. 3. 00:10반응형
자바 배열 선언시의 for 반복문 활용
- 배열을 다룰때 for반복문은 필수적으로 사용됨
- 배열 사용의 오이용을 막기위해서 배열의 속성인 length을 사용하는것이 좋다.
- 배열의 크기 변경시 for문에 사용되는 조건의 범위도 변경되어야하는데 만약 하지 않는경우 ArrayIndexOutOfBoundsException 이라는 예외가 발생하여 비정상적으로 작동함.
오늘의 코드
package j0702;
public class ArrayEx1 {
public static void main(String[] args) {
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 = (float) sum / score.length; // 계산 결과를 float으로 얻기 위함(형변환)
System.out.println("총점 : " + sum);
System.out.println("평균 : " + average);
}
}
package j0702;
public class ArrayEx2 {
public static void main(String[] args) {
int[] score = { 79, 88, 91, 33, 100, 55, 95 };
int max = score[0]; // 배열의 첫번쨰 값으로 최대값을 초기화
int min = score[0]; // 배열의 첫번째 값으로 최소값을 초기화
for (int i = 0; i < score.length; i++) {
if (score[i] > max) {
max = score[i];
}
if (score[i] < min) {
min = score[i];
}
} // end of for
System.out.println("최대값 : " + max);
System.out.println("최소값 : " + min);
}
}
package j0702;
public class ArrayEx3 {
public static void main(String[] args) {
int[] number = new int[10];
for (int i = 0; i < number.length; i++) {
number[i] = i; // 배열을 0~9의 숫자로 초기화한다.
System.out.println(number[i]);
}
System.out.println();
for (int i = 0; i < 100; i++) {
int n = (int) (Math.random() * 10); // 0~9중의 한 값을 임의로 얻음.
int temp = number[0];
number[0] = number[n];
number[n] = temp; // number[0]과 number[n]의 값을 서로 바꾼다. (섞기)
}
for (int i = 0; i < number.length; i++) {
System.out.println(number[i]);
}
}
}
package j0702;
public class ArrayEx4 {
public static void main(String[] args) {
// 45개의 정수값을 저장하기 위한 배열 생성
int[] ball = new int[45];
// 배열의 각 요소에 1~45의 값을 저장
for (int i = 0; i < ball.length; i++)
ball[i] = i + 1; // ball[0]에 1이 저장됨
int temp = 0; // 두 값을 바꾸는데 사용할 임시변수
int j = 0; // 임의의 값을 얻어서 저장할 변수
// 배열에 저장된 값이 잘 섞이도록 충분히 큰 반복횟수 지정
// 배열의 첫 번째 요소와 임의의 요소에 저장된 값을 서로 바꿔서 값을 섞는다.
for (int i = 0; i < 100; i++) {
j = (int) (Math.random() * 45); // 배열범위 0~44의 임의의 값을 얻는다.
temp = ball[0];
ball[0] = ball[j];
ball[j] = temp; // ball[0]과 ball[j]의 값을 서로 바꾼다.
}
// 배열 ball의 앞에서 부터 6개의 요소 출력
for (int i = 0; i < 6; i++)
System.out.println(ball[i] + " ");
}
}
package j0702;
public class ArrayEx5 {
public static void main(String[] args) {
int[] number = new int[10];
for (int i = 0; i < number.length; i++) {
System.out.println(number[i] = (int) (Math.random() * 10));
}
System.out.println();
for (int i = 0; i < number.length; i++) {
boolean changed = false; // 자리바꿈이 발생했는지 체크
for (int j = 0; j < number.length - 1 - i; j++) {
if (number[j] > number[j + 1]) { // 옆의 값이 크면 서로 바꾼다.
int temp = number[j];
number[j] = number[j + 1];
number[j + 1] = temp;
changed = true; // 자리바꿈이 발생했으니 changed를 true로
} // end if
}// end for j
if (!changed)
break; // 자리바꿈이 없으면 반복문을 벗어난다.
for (int k = 0; k < number.length; k++)
System.out.println(number[k]); // 정렬된 결과를 출력
System.out.println();
}// end for i
}
}
package j0702;
public class ArrayEx6 {
public static void main(String[] args) {
int[] number = new int[10];
int[] counter = new int[10];
for (int i = 0; i < number.length; i++) {
System.out.print(number[i] = (int) (Math.random() * 10));
}
System.out.println();
for (int i = 0; i < number.length; i++) {
counter[number[i]]++;
}
for (int i = 0; i < number.length; i++) {
System.out.println(i + "의 개수 : " + counter[i]);
}
}
}
반응형'프로그래밍 > JAVA' 카테고리의 다른 글
[JSP] JSP 기본 (1) (0) 2015.07.13 [JAVA] IO Stream (1) (0) 2015.07.08 [JAVA] 객체지향 프로그래밍 (2) (0) 2015.07.08 [JAVA] 객체지향언어 : 클래스와 객체 (1) (0) 2015.07.07 [JAVA] 배열의 종류 및 활용 (0) 2015.07.06