CODE/JAVA1
Array
maskan
2021. 1. 27. 15:43
import java.util.Arrays;
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
// sysout + Ctrl + Spacebar : System.out.println()
// 라인삭제 : Ctrl + D
// 라인복사 : Ctrl + Alt + 방향키(위/아래)
// 라인이동 : Alt + 방향키(위/아래)
/*
* 배열 - 여러개의 값을 하나의 변수에 저장해서 사용하는 것이다. - 참조형 타입이다. - 인덱스로 값을 구분한다. - 길이를
* 변경할 수 없다.
*/
int[] array; // 배열의 주소를 저장할 공간이 만들어진다.
array = new int[5]; // 배열이 생성되고 그 주소가 저장된다.
// 배열 초기화시 기본 값이 저장된다.
/*
* - 기본 값 정수 : 0 실수 : 0.0 문자 : ' '(0) 공백 논리 : false 참조형 : null
*/
array = new int[] { 1, 2, 3, 4, 5 };
// array = {1, 2, 3, 4, 5};
// 선언과 초기화를 동시에 해야한다.
int[] array2 = { 1, 2, 3, 4, 5 };
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
array[4] = 50;
int sum = 0;
for (int i = 0; i < array.length; i++) {
sum += array[i];
}
System.out.println("합계 : " + sum);
// 10개의 정수를 저장할 수 있는 배열을 선언 및 초기화 해주세요.
int[] a1 = new int[10];
for (int i = 0; i < a1.length; i++) {
a1[i] = (int) (Math.random() * 100) + 1;
}
System.out.println(Arrays.toString(a1)); // 컴파일 에러가 나면 임포트
// 배열에 저장된 모든 값의 합계와 평균을 구해주세요.
sum = 0;
for (int i = 0; i < a1.length; i++) {
sum += a1[i];
}
double avg = (double) sum / array.length;
System.out.println("합계 : " + sum + " / 평균 : " + avg);
// 배열에 저장된 값들 중 최소값과 최대값을 출력해주세요.
int min = a1[0];
int max = a1[0];
for (int i = 0; i < a1.length; i++) {
if (min > a1[i]) {
min = a1[i];
}
if (max < a1[i]) {
max = a1[i];
}
}
System.out.println("min : " + min + " / max : " + max);
int[] shuffle = new int[10];
for (int i = 0; i < shuffle.length; i++) {
shuffle[i] = i + 1;
}
System.out.println(Arrays.toString(shuffle));
// 배열의 값을 섞어주세요.
for (int i = 0; i < 100; i++) {
int num = (int) (Math.random() * shuffle.length);
int temp = shuffle[0];
shuffle[0] = shuffle[num];
shuffle[num] = temp;
}
System.out.println(Arrays.toString(shuffle));
// 1~10 사이의 랜덤값을 500번 생성하고, 각 숫자가 생성된 횟수를 출력해주세요.
int[] ran_a = new int[500];
for (int i = 0; i < ran_a.length; i++) {
ran_a[i] = (int) (Math.random() * 10) + 1;
}
for (int a = 1; a < 11; a++) {
int count = 0;
for (int i = 0; i < ran_a.length; i++) {
if (ran_a[i] == a) {
count++;
}
}
System.out.println(a + "의 횟수 : " + count);
}
/*************************************************/
int[] count = new int[10];
for (int i = 0; i < 500; i++) {
int random = (int) (Math.random() * 10) + 1;
count[random - 1]++;
}
System.out.println(Arrays.toString(count));
// 위 문제의 최소값, 최대값, 발생횟수를 입력받아 각 숫자가 생성된 횟수를 출력해주세요.
Scanner s = new Scanner(System.in);
int start;
int end;
do {
System.out.println("랜덤 생성 최소값을 설정하세요>");
start = Integer.parseInt(s.nextLine());
System.out.println("랜덤 생성 최대값을 설정하세요>");
end = Integer.parseInt(s.nextLine());
} while (end < start);
System.out.println("랜덤 생성할 횟수를 입력하세요>");
int amount = Integer.parseInt(s.nextLine());
int[] count1 = new int[end - start + 1];
int random;
for (int i = 0; i < amount; i++) {
random = (int) (Math.random() * (end - start + 1) + start);
count1[random - start]++;
}
// System.out.println(Arrays.toString(count1));
for (int i = 0; i < end - start + 1; i++) {
System.out.println(start + i + "생성 횟수 : " + count1[i]);
}
/*************일치*************/
}
}