~로또 복습~
int[][] score1 = new int[5][3];
int[][] score2 = {{34,78,98},
{100,87,59,68}}; //자료 직접 넣을 때는 갯수를 자유롭게 조정 가능.
System.out.println(score2[0][2]); => 98
연습문제
//2차원 배열 3행 5열, 값을 1~15까지 값을 넣고 출력하기
//사람별 총점, 평균(소수점 첫째자리까지)을 구하시오
int[][] score = {{90, 67, 78},
{75, 32, 59},
{23, 56, 80},
{47, 55, 29},
{100, 97, 86}};
//과목별 합계를 구하시오. (2가지 방법이 있음. 하나는 따로 다시 코딩, 하나는 위의 식에 속해서 코딩)
hint!
score[0][0]
score[1][0]
score[2][0]
score[3][0]
score[4][0]
=>
for(열) // 열이 적게 돌아야하니까 바깥에
for(행) //행이 많이 돌아야되니까 안에
*누적 합계구할 때 한 번에 하려고하지말고 순차적으로 하나씩 차근차근 더해진다고 생각하삼. 1+2 =3, 3+4=7 ... 이런식으로
// 2행 3열 배열을 생성하고 사용자로부터 세 점수를 입력받아 넣기, 한 사람이 평균(소수점 첫째자리까지) 70점 이상이면 합격 그렇지 않으면 불합격
-3차원 배열: 잘 사용 안 하긴함~!
int[][][] = new 235;
=> 열이 5개고 행이 3개인 뭉텅이가 2개 있음
int[] re2 = Arrays.copyOf(num, 3);
System.out.println(Arrays.toString(re2));
=>[3, 6, 8]
2)copyOfRange(원본배열이름, 시작인덱스, 끝인덱스);
시작인덱스~(끝 인덱스-1)까지 복사 : 범위를 복사
int[] re3 = Arrays.copyOfRange(num, 1, 4);
System.out.println(Arrays.toString(re3));
=>[6, 8, 10]
3)system.arraycopy(원본배열, 원본시작인덱스, 타겟배열, 타겟시작인덱스, 복사할개수) : 제일 많이 사용한대!
int[] re4 = new int[10];
System.arraycopy(num, 2, re4, 3, 2);
=>[0, 0, 0, 8, 10, 0, 0, 0, 0, 0]
통합연습문제
//주민등록번호를 입력받아('-'대시 포함) 개수가 14자리가 맞는지 확인하고 성별숫자(1234)까지만 보여지고 그 후로는 별 표시하시오 아니면 다시 입력하세요 출력
*subString(a,b) 메서드 : a부터 b의 바로 직전까지(b는 포함되지 않는다) 추출해서 가져오는 것