public class RefDemo1 {
    public static void main(String[] args) {

        int[] a = {10, 30, 40, 100};
        int[] b = a;
        System.out.println("a[0] -> " + a[0]);
        System.out.println("b[0] -> " + b[0]);

        b[0] = 300;
        System.out.println("a[0] -> " + a[0]);
        System.out.println("b[0] -> " + b[0]);

        b = null;
        System.out.println("a[0] -> " + a[0]);
        System.out.println("b[0] -> " + b[0]);
    }
}
​

 

public class RefDemo2 {
    public static void main(String[] args) {
        int[] numbers = new int[3];
        double[] scores = new double[5];
        String[] names = new String[3];

        System.out.println(numbers[0]);
        System.out.println(scores[0]);
        System.out.println(names[0]);

    }
}​

 

public class ArrayDemo1 {
    public static void main(String[] args) {
        // 여러개의 데이터를 단일한 이름으로 관리 -- 배열
        int[] numbers = {10, 14, 20, 3, 15};
        
        /*
        System.out.println(numbers[0]);
        System.out.println(numbers[1]);
        System.out.println(numbers[2]);
        System.out.println(numbers[3]);
        System.out.println(numbers[4]);
        */
        /*
        for (int x=0; x<=4; x++) {
            System.out.println(numbers[x]);
        }
        */

        for (int a : numbers) { // for (배열의 아이템을 담을 그릇 : 반복 처리할 배열) {} 인핸스드 for문
            System.out.println(a);
        }
    }
}
​

 

public class ArrayDemo2 {
    public static void main(String[] args) {
        int[] numbers = new int[3];
        double[] scores = new double[5];
        String[] names = new String[3];

        System.out.println(numbers[0]);
        System.out.println(scores[0]);
        System.out.println(names[0]);

        // 배열의 길이를 조회한다.
        System.out.println(numbers.length);
        System.out.println(scores.length);
        System.out.println(names.length);

        // 배열에 값을 저장하기
        numbers[0] = 100;
        numbers[1] = 200;
        numbers[2] = 150;

        names[0] = "홍길동";
        names[1] = "이순신";
        names[2] = "강감찬";
        names[3] = "김유신";    // 배열의 인덱스 범위를 초과
    }
}​

 

public class ArrayDemo3 {
    public static void main(String[] args) {

        if (args.length == 2) {
            System.out.println(args[0]);
            System.out.println(args[1]);
        
        } else {
            System.out.println("명령행 인자의 개수가 올바르지 않습니다.");
        }
    }
}
​

 

public class ArrayDemo4 {
    public static void main(String[] args) {

        int[] scores = {70, 20, 50, 44, 28, 70, 80, 100};

        System.out.println("국어 점수 리스트");
        for (int x : scores) {    // enhanced for문
            System.out.println(x);
        }

        int total = 0;
        int average = 0;
        int min = 100;    // 예상되는 가장 큰 값을 담고 시작한다.
        int max = 0;    // 예상되는 가장 작은 값을 담고 시작한다.
        for (int x : scores) {
            total = total + x;
        }
        
        average = total/scores.length;
        
        System.out.println("총점 : " + total);
        System.out.println("평균 : " + average);

        // 최솟값 구하기
        // 배열의 값을 하나씩 꺼내서 min에 저장된 값과 비교해서
        // min 값보다 꺼낸 값이 작다면 min의 값을 지금 꺼낸 값으로 교체한다.
        for (int x : scores) {
            if (x < min) {
                min = x;
            }
        }
        System.out.println("최솟값 : " + min);

        // 최댓값 구하기
        // 배열의 값을 하나씩 꺼내서 max에 저장된 값과 비교해서
        // max값보다 꺼낸 값이 크다면 max의 값을 지금 꺼낸 값으로 교체한다.

        for (int x : scores) {
            if (x > max) {
                max = x;
            }
        }
        System.out.println("최댓값 : " + max);
    }
}​

 

public class ArrayDemo5 {
    public static void main(String[] args) {

        /*
        int[][] arr = new int[2][3];

        
        arr[0][0] = 20;
        arr[0][1] = 50;
        arr[0][2] = 60;

        arr[1][0] = 100;
        arr[1][1] = 90;
        arr[1][2] = 80;
        */

        int[][] arr = {{20, 50, 60}, {100, 90, 80}};

        for (int x=0; x<2; x++) {
            for (int y=0; y<3; y++) {
        System.out.println(arr[x][y]);
            }
        }
    }
}
​

 

import java.util.Scanner;

public class ArrayDemo6 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int studentNumbers = 0;        // 학생 수
        int[] scores = null;        // 점수를 저장하는 배열

        for (;;) {
            System.out.println("---------------------------------------------------------------");
            System.out.println(" 1. 학생 수 | 2. 점수 입력 | 3. 점수 리스트 | 4. 분석 | 0. 종료");
            System.out.println("---------------------------------------------------------------");

            System.out.print("선택> ");
            int selectedNo = scanner.nextInt();

            if (selectedNo == 1 ) {
                System.out.println("학생 수> " );
                studentNumbers = scanner.nextInt();
                scores = new int[studentNumbers];    // 입력된 학생 수만큼의 크기를 가지는 배열을 생성해서 scores에 그 주소를 담는다.
            
            } else if (selectedNo == 2 ) {
                for (int i=0; i<studentNumbers; i++) {
                    System.out.print("[" + i + "]번 째 점수 입력> ");
                    int score = scanner.nextInt();
                    scores[i] = score;
                }
                    
            } else if (selectedNo == 3 ) {
                for (int score : scores) {
                        System.out.print(score + " ");
                }

            } else if (selectedNo == 4 ) {
                int total = 0;
                int highScore = 0;
                for (int score : scores) {
                    total = total + score;
                    if (score > highScore) {
                        highScore = score;
                    }
                }
                    System.out.println("최고 점수: " + highScore);
                    System.out.println("총     점: " + total);
                    System.out.println("평     균: " + total/studentNumbers);
                
            } else if (selectedNo == 0 ) {
                System.out.println("프로그램 종료");
                break;
            }

            System.out.println("\n\n\n");
        }
    }
}
​

 

import java.util.Scanner;

public class ArrayDemo7 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("이름 입력> ");
        String name = scanner.next();        // scanner.next() -> 문자열을 읽어온다.

        System.out.print("나이 입력> ");
        int age = scanner.nextInt();        // scanner.nextInt() -> 숫자를 읽어온다.

        System.out.print("연락처 입력> ");
        String tel = scanner.next();

        System.out.print("몸무게 입력> ");
        double weight = scanner.nextDouble();    // scanner.nextDouble() -> 실수를 읽어온다.

        System.out.println("이름 " + name);
        System.out.println("나이 " + age);
        System.out.println("연락처 " + tel);

    }
}
​

 

import java.util.Scanner;

public class ArrayDemo8 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int productNumbers = 0;
        String[] productNames = null;
        int[] productPrices = null;

        for (;;) {
            System.out.println("---------------------------------------------------------------");
            System.out.println(" 1. 전체 개수 | 2. 구매 상품 정보 입력 | 3. 영수증 출력 0. 종료");
            System.out.println("---------------------------------------------------------------");

            System.out.print("메뉴 선택> ");
            int selectNo = scanner.nextInt();

            if (selectNo == 1) {
                /*
                    전체 상품 개수를 입력받는다.
                    전체 상품 개수만큼 상품 이름을 담는 배열과, 상품 가격을 담는 배열을 생성한다.
                */
                System.out.print("전체 개수> ");                
                productNumbers = scanner.nextInt();
                productNames = new String[productNumbers];
                productPrices = new int[productNumbers];


            } else if (selectNo == 2) {
                /*
                    전체 상품 개수만큼 상품 이름과 상품 가격을 입력받는 작업을 반복한다.
                        상품 이름과 상품 가격을 각각 입력받아서 해당 배열에 순서대로 저장한다.
                */
                for (int x=0 ; x < productNumbers ; x++) {
                    System.out.print("상품의 이름을 입력> ");
                    String productName = scanner.next();
                    productNames[x] = productName;
                    System.out.print("상품의 가격 입력> ");
                    int productPrice = scanner.nextInt();
                    productPrices[x] = productPrice;
                }
                
            } else if (selectNo == 3) {
                /*
                    전체 상품 이름과 상품 가격을 화면에 출력한다(enhanced for문 사용 불가).
                */
                int total = 0;
                for (int z=0; z < productNumbers; z++) {
                System.out.println(productNames[z] + "\t\t\t\t" + productPrices[z]);
                total = total + productPrices[z];
                }
                System.out.println("합계" + total);

            } else if (selectNo == 0) {
                System.out.println("프로그램 종료");
                break;
            }
            System.out.println("\n\n");
        }
    }
}​

 

import java.util.Scanner;

public class ArrayDemo9 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int productKind = 0;
        String[] productNames = null;
        int[] buycounts = null;
        int[] unitPrices = null;

        for (;;) {
            System.out.println("---------------------------------------------------------------");
            System.out.println(" 1. 상품 종류 | 2. 구매 상품 정보 입력 | 3. 영수증 출력 0. 종료");
            System.out.println("---------------------------------------------------------------");

            System.out.print("메뉴 선택> ");
            int selectNo = scanner.nextInt();

            if (selectNo == 1) {
                System.out.print("상품 종류 입력> ");                
                productKind = scanner.nextInt();
                productNames = new String[productKind];
                buycounts = new int[productKind];
                unitPrices = new int[productKind];

            } else if (selectNo == 2) {
                for (int x=0 ; x < productKind ; x++) {
                    System.out.print("상품의 이름을 입력> ");
                    String productName = scanner.next();
                    productNames[x] = productName;

                    System.out.print("구매 수량을 입력> ");
                    int buycount = scanner.nextInt();
                    buycounts[x] = buycount;

                    System.out.print("단가를 입력> ");
                    int unitPrice = scanner.nextInt();
                    unitPrices[x] = unitPrice;
                }

            } else if (selectNo == 3) {
                System.out.println("---------------------------------------------------------------");
                System.out.println("상품명\t\t   구매 수량\t\t단가\t\t가격");
                System.out.println("---------------------------------------------------------------");
                
                int totalBuycounts = 0;
                int total = 0;
                for (int x=0; x<productKind; x++) {
                    System.out.println(productNames[x] + "\t\t\t" + buycounts[x] + "\t\t" + unitPrices[x] + "\t\t" + buycounts[x]*unitPrices[x]);
                    totalBuycounts = totalBuycounts + buycounts[x];
                    total = total + buycounts[x]*unitPrices[x];
                }

                System.out.println("---------------------------------------------------------------");
                System.out.println("합계 : " + "\t\t\t" + totalBuycounts + "\t\t\t\t" + total);

            } else if (selectNo == 0) {
                System.out.print("종료");
                break;
            }
        }
    }
}
​

+ Recent posts