프로젝트

일반

사용자정보

3 장 실습 자료

Prof. Jong Min Lee이(가) 16일 전에 추가함

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
 */
package cse.oop2.ch03;

/**
 *
 * @author 916
 */
public class ArrayTest {

    public static final int MAX_NUMS = 1_000_000;  // 1,000,000 

    public void intArrayTest() {
        int[] nums;
        long sum = 0;

        nums = new int[MAX_NUMS];  // new 1번!!!
        for (int i = 0; i < MAX_NUMS; i++) {
            nums[i] = (int) (Math.random() * 100); // 형 변환, type casting
            sum += nums[i];
        }
        double avg = (float) sum / MAX_NUMS; // float / int -> float
        System.out.printf("합 = %d, 평균 = %.2f%n", sum, avg);
    }

    public void dogArrayTest() {
        Dog[] dogs = new Dog[3];

        dogs[0] = new Dog("Fred");
        dogs[1] = new Dog("Marge");
        dogs[2] = new Dog("Bart");

        String finalDogName = dogs[dogs.length - 1].getName();
        System.out.printf("마지막 개의 이름: %s%n", finalDogName);

        for (Dog d : dogs) {  // 색인 X. enhanced for loop
            d.bark();
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ArrayTest t1 = new ArrayTest();
        t1.intArrayTest();
        t1.dogArrayTest();
    }

}

class Dog {

    private String name;

    public Dog(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void bark() {
        System.out.println(name + "이/가 왈!하고 짖습니다.");
    }

}