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
반응형
'JAVA' 카테고리의 다른 글
배열 정렬 (ArraySort) 기본 예제 (0) | 2024.01.21 |
---|---|
배열 복사 (ArrayCopy) 기본 예제 (0) | 2024.01.20 |
분기문 연습 (6) - 연산자를 이용한 계산 프로그램 (0) | 2024.01.18 |
분기문 연습 (5) - 입력 받은 두 수의 공차 구하기 (0) | 2024.01.17 |
분기문 연습 (4) - 입력된 숫자부터 구구단 출력 (0) | 2024.01.16 |