ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.