-
2023년 05월 31일 공부 내용 정리 ( java)국비 교육 내용 정리 2023. 5. 31. 09:49
Quiz)
/*
* 화면에서 5개의 점수를 입력받아서 점수의 합계, 평균, 최대점수, 최소점수 출력하기
* 입력받는 점수는 score 배열에 저장하기.
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] score = new int[5];
}
코드값:
package ch05.array;
import java.util.Scanner;
public class quiz1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 화면에서 5개의 점수를 입력받아서 점수의 합계, 평균, 최대점수, 최소점수 출력하기
* 입력받는 점수는 score 배열에 저장하기.
*/
Scanner scan = new Scanner(System.in);
int[] score = new int[5];
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int sum =0;
for (int i =0; i < score.length; i++) {
score[i] = scan.nextInt();
sum +=score[i];
if (max < score[i]) max=score[i];
if (min > score[i]) min=score[i];
}
System.out.println("합계:" + sum);
System.out.println("평균:" + (double)sum/score.length);
System.out.println("최대점수:" + max);
System.out.println("최소점수" + min);
}
}
2)
/*
* Math.random() 함수를 이용하여 1부터 10까지의 임의의 수를 배열에 10개 저장하기
* 배열에 저장된 수만큼 * 를 출력하기
* 0 <= Math.random() < 1.0
* arr= {3,5,2,1...}
* 3:***
* 5:*****
* 2:**
* ...
*/
public static void main(String[] args) {
int[] arr= new int[10];
}
코드값:
package ch05.array;
public class Quiz02 {
/*
* Math.random() 함수를 이용하여 1부터 10까지의 임의의 수를 배열에 10개 저장하기
* 배열에 저장된 수만큼 * 를 출력하기
* 0 <= Math.random() < 1.0
* arr= {3,5,2,1...}
* 3:***
* 5:*****
* 2:**
* ...
*/
public static void main(String[] args) {
int[] arr= new int[10];
for(int i=0; i<arr.length;i++) {
arr[i] = (int)(Math.random() * 10) + 1;
}
for (int i : arr) {
System.out.println(i);
}
for(int a :arr) {
System.out.print(a + ":");
for (int i=0;i<a;i++) {
System.out.print("*");
}
System.out.println();
}
}
}
- 수업 -
<코드값>
package ch05.array;
public class ArrayEx07 {
public static void main(String[] args) {
int[][] arr = {{10,20},{30,40}, {50,60,70}}; //[3][?]
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length;j++) { //2,2,3
System.out.println("arr["+i+"]["+j+"]=" + arr[i][j]+"\t");
}
System.out.println();
}
}
}
<출력값>
arr[0][0]=10
arr[0][1]=20
arr[1][0]=30
arr[1][1]=40
arr[2][0]=50
arr[2][1]=60
arr[2][2]=70
<코드값 Very hard..>
package ch05.array;
public class ArrayEx08 {
public static void main(String[] args) {
int[][] arr = new int[10][];
for(int i =0; i < arr.length; i++) {
arr[i] = new int[i + 1];
}
int data = 0;
for(int j=arr.length-1;j>=0;j--) {
for(int i=j; i<arr.length;i++) {
arr[i][j]= ++data;
System.out.print("["+i+"])["+j+"]="+arr[i][j] + " ");
}
System.out.println();
}
for (int i = 0; i < arr.length; i++) {
for (int j =0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}
<출력값>
[9])[9]=1
[8])[8]=2 [9])[8]=3
[7])[7]=4 [8])[7]=5 [9])[7]=6
[6])[6]=7 [7])[6]=8 [8])[6]=9 [9])[6]=10
[5])[5]=11 [6])[5]=12 [7])[5]=13 [8])[5]=14 [9])[5]=15
[4])[4]=16 [5])[4]=17 [6])[4]=18 [7])[4]=19 [8])[4]=20 [9])[4]=21
[3])[3]=22 [4])[3]=23 [5])[3]=24 [6])[3]=25 [7])[3]=26 [8])[3]=27 [9])[3]=28
[2])[2]=29 [3])[2]=30 [4])[2]=31 [5])[2]=32 [6])[2]=33 [7])[2]=34 [8])[2]=35 [9])[2]=36
[1])[1]=37 [2])[1]=38 [3])[1]=39 [4])[1]=40 [5])[1]=41 [6])[1]=42 [7])[1]=43 [8])[1]=44 [9])[1]=45
[0])[0]=46 [1])[0]=47 [2])[0]=48 [3])[0]=49 [4])[0]=50 [5])[0]=51 [6])[0]=52 [7])[0]=53 [8])[0]=54 [9])[0]=55
46
47 37
48 38 29
49 39 30 22
50 40 31 23 16
51 41 32 24 17 11
52 42 33 25 18 12 7
53 43 34 26 19 13 8 4
54 44 35 27 20 14 9 5 2
55 45 36 28 21 15 10 6 3 1
<코드값: 배열 복사>
package ch05.array;
/*
* 배열의 복사 : for 구문을 이용하여 배열 복사하기.
*
* 한번 생성된 배열 객체는 크기 변경이 안됨 => Collection 의 List 객체는 변경 가능
*
*/
public class ArrayEx09 {
public static void main(String[] args) {
int score1[] = {90,80,70};
//score1.length = 5; // error. 배열의 크기 변경이 안됨.
int score2[] = new int[5];
for(int i=0;i<score1.length;i++) {
score2[i] = score1[i];
}
for(int s : score2) {
System.out.println(s);
}
}
}
<출력값>
90
80
70
0
0
<코드값: 배열 복사>
package ch05.array;
/* 배열의 복사 : System.arraycopy 메서드를 이용하는 방법
* System.arraycopy(from array, 시작번호, to array, 시작번호, 복사객수);
*/
public class ArrayEx10 {
public static void main(String[] args) {
int score[] = {90,80,70};
int score2[] = new int[5];
System.arraycopy(score, 0, score2, 2, score.length);
for(int s : score2) {
System.out.println(s);
}
}
}
<출력값>
0
0
90
80
70
<코드값: 배열 복사>
package ch05.array;
import java.util.Arrays;
/* 배열의 복사 : Arrays 클래스 이용하기
* int[] Arrays.copyOf(int[] original, int newLength)
*
*/
public class ArrayEx11 {
public static void main(String[] args) {
int score [] = {90,80,70};
int score2 [] = Arrays.copyOf(score, 5);
for(int s : score2) {
System.out.println(s);
}
System.out.println(Arrays.toString(score2));
}
}
<출력값>
90
80
70
0
0
[90, 80, 70, 0, 0]
<코드값>package ch05.array;
public class ArrayEx12 {
public static void main(String[] args) {
char[] abc = {'A', 'B', 'C', 'D'};
char[] num = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
System.out.println(abc);
System.out.println(num);
// 배열 abc와 num을 붙여서 하나의 배열(result)로 만든다.
char[] result = new char[abc.length + num.length];
System.arraycopy(abc, 0, result, 0, abc.length);
System.arraycopy(num, 0, result, abc.length, num.length);
System.out.println(result);
// 배열 abc을 배열 num의 첫 번째 위치부터 배열 abc 길이만큼 복사
System.arraycopy(abc, 0, num, 0, abc.length);
System.out.println(num);
// num의 인덱스 6 위치에 3개를 복사
System.arraycopy(abc, 0, num, 6, 3);
System.out.println(num);
}
}
<출력값>
ABCD
0123456789
ABCD0123456789
ABCD456789
ABCD45ABC9
'국비 교육 내용 정리' 카테고리의 다른 글
2023년 06월 05일 수업 내용 정리 (0) 2023.06.07 2023년 06월 01일 수업내용 정리 (0) 2023.06.01 2023년 05월 30일 공부 내용 정리 ( java) (0) 2023.05.30 2023년 05월 26일 공부 내용 정리 ( java~ 퀴즈 정리하긔) (0) 2023.05.26 2023년 05월 25일 공부 내용 정리 ( java~ 퀴즈 정리하긔) (1) 2023.05.25