본문 바로가기
JAVA

배열 (Array) 기본 예제

by 선우진우 2024. 1. 19.
728x90
반응형

 

package com.kh.array;

import java.util.Scanner;

public class A_Array {

	public void method1() {
		
		// 배열 선언 및 할당
		int[] arr; // 배열 선언 방법1    
		int arr2[]; // 배열 선언 방법2
		// 방법1, 방법2 둘 다 사용 가능
		
		arr = new int[4]; // 배열 할당
		arr2 = new int[100];
		
		// 배열 초기화
		
		arr[0] = 0;
		arr[1] = 1;
		arr[2] = 2;
		arr[3] = 3;
		
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);
		System.out.println(arr[3]);
		
		//배열명.length --> 배열의 길이(칸 수)
		for(int i = 0; i < arr.length; i++) {
			arr[i] = i + 4;		
			System.out.println(arr[i]);
		
		}	// 4 , 5 , 6 , 7
		
		
		// 선언과 동시에 초기화
		
		int[] arr3 = {1,2,3,4,5};
			
	}
	
	
	public void method2() {
	
		// * 배열이란?
		// 여러개의 변수가 나란히 나열 되어 있는 형태
		
		// # 배열을 사용 하기 위한 순서 #
		// 1) 배열 선언 -> 2) 배열 할당 -> 3) 배열 초기화 
		// 연산자를 new -> heap 영역에 할당
		
		// * 배열 선언 방법 ( [] )
		int[] arr; //  주로 사용
		int arr2[]; // 사용 가능
		
		// * 배열 할당 (할당과 동시에 기본값에 0이 들어간다.)
		// * 변수명 = new 자료형[배열의 크기];
		arr = new int[4];
		
		// 선언한 자료형 (int) 기본값으로 초기화 되었는지 확인.
		System.out.println(arr[0]); // 0
		System.out.println(arr[1]); // 0
		System.out.println(arr[2]); // 0
		System.out.println(arr[3]); // 0
		
		// * 배열 초기화
		// 1) 각 인덱스별로 초기화
		arr[0] = 100;
		arr[1] = 200;
		arr[2] = 300;
		arr[3] = 400;
		
		System.out.println("1) 각 인덱스별로 초기화");
		System.out.println(arr[0]); // 100
		System.out.println(arr[1]); // 200
		System.out.println(arr[2]); // 300
		System.out.println(arr[3]); // 400
		
		System.out.println();
		
		// 2) 반복문을 이용한 초기화
		System.out.println("2) 반복문을 이용한 초기화");
		
		for(int i = 0; i < arr.length; i++) {
			// 배열명.length --> 배열의 길이(칸) 반환
			
			arr[i] = 1000 * i;
			System.out.println("arr[" + i + "] = " + arr[i]);
		}
		
			System.out.println();
		
		
		// 3) {} 직접 초기화
		int[] arr3 = {5, 4, 3, 2, 1}; // 값이 많지 않을 때. 사용할 수 있음
		 // int arr3 = new int[5];
		
		System.out.println("3) {} 직접 초기화");
		for(int i=0; i < arr3.length; i++) {
			System.out.println(arr3[i]);
		}
		
	}
	
	
	public void method3() {
		
		//학생 5명의 점수 합계, 평균 구하기.
		
		double[] sArr = new double[5];
		sArr[0] = 50.8;
		sArr[1] = 95.5;
		sArr[2] = 70.3;
		sArr[3] = 80.2;
		sArr[4] = 37.7;
		
		double sum = 0.0;
		
		for(int i = 0; i < sArr.length; i++) {
			sum += sArr[i];
		}
		
		System.out.println("합계 : " + sum);
		System.out.println("평균 : " + sum / sArr.length);
	}
	
	
	public void method4() {
		
		// 5명의 점수를 난수를 발생 시켜 저장 후 합계, 평균을 출력.
		// (단, 난수의 범위는 0~100);
		
		double[] sArr = new double[5];
		double sum = 0.0;
		
		for(int i = 0; i < sArr.length; i++) {
			double random = Math.random() * 101;
						// 0.0 <= random < 101.0
						// 100.9999999999
			
			if(random > 100) {
				// random = 100;
				random = Math.floor(random); // floor 소수점 버림을 의미.
				
			}
			
			sArr[i] = random;
			
			sum += sArr[i];
		}
		
		System.out.println("합계 : " + sum);
		System.out.println("평균 : " + sum/sArr.length);
	
	}
	
	
	public void method5() {
		
		// 5명의 점수를 각각 입력받아 배열에 저장 후 합계, 평균을 출력.
		
		Scanner sc = new Scanner(System.in);
		
		double[] sArr = new double[5]; //
		double sum = 0.0; //
		
		for(int i = 0; i < sArr.length; i++) {
			System.out.print(i + "번 점수 입력 : ");
			sArr[i] = sc.nextDouble();
			sum += sArr[i];
					
		}
		
		System.out.println("합계 : " + sum);
		System.out.println("평균 : " + sum/sArr.length);
		
	}
		
	
	public void method6() {
		
		// 입력 받은 수 만큼 공간을 할당한 배열을 생성하여 각 인덱스에 점수 저장 후 합계, 평균 구하기
		
		Scanner sc = new Scanner(System.in);
		System.out.print("배열 크기 지정 : ");
		int size = sc.nextInt();
		
		double[] sArr = new double[size]; //
		double sum = 0.0; //
		
		for(int i = 0; i < sArr.length; i++) {
			System.out.print(i + "번 점수 입력 : ");
			sArr[i] = sc.nextDouble();
			sum += sArr[i];
							
		}
		
		System.out.println("합계 : " + sum);
		System.out.println("평균 : " + sum/sArr.length);
		
		
	}
	
	
	public void method7() {
		
		// 메뉴 5개를 입력 받아 저장하는 배열 생성 후, 난수를 발생 시켜 하나만 선택하기.
		
		Scanner sc = new Scanner(System.in);
		String[] mArr = new String[5];
		
		for(int i = 0; i < mArr.length; i++) {
			System.out.print("입력  " + (i+1) + " : ");
			mArr[i] = sc.nextLine();
			
		}
		
		int random = (int)(Math.random() * mArr.length);
		
		System.out.println("오늘의 메뉴 : " + mArr[random]);
		
	}
	
	public void method8() {
		
		// 입력 받은 수 만큼 배열 생성 후, 난수를 발생 시켜 하나만 선택하기.
		
		Scanner sc = new Scanner(System.in);
		System.out.print("메뉴 몇 가지 생성? ");
		int size = sc.nextInt();
		sc.nextLine(); // String(문자열) 전에 enter 제거 하기.
		
		String[] mArr = new String[size];
				
		for(int i = 0; i < mArr.length; i++) {
			System.out.print("입력  " + (i+1) + " : ");
			mArr[i] = sc.nextLine();
					
		}
				
		int random = (int)(Math.random() * mArr.length);
				
		System.out.println("오늘의 메뉴 : " + mArr[random]);
		
		
	}
	
	
	public void method9() {
		
		// 배열 직접 초기화로 랜덤 메뉴 정하기.
		
		String[] mArr = {"1식당", "2식당", "3식당", "4식당", "5식당", "6식당", "7식당", "8식당", "9식당", "10식당"};
		
		int random = (int)(Math.random() * mArr.length);
				
		System.out.println("오늘은? " + mArr[random]);
		
	}

}
 
 

 

728x90
반응형