728x90
반응형
// 남궁 성의 자바의 정석 듣는 중//
- 그냥 단순하게 1차원은 row, vector가 하나씩 있는 것이고, 2차원은 table 형태, 3차원은 2차원이 여러개, 4차원은 3차원이 여러개 일 때.
- 만들 때는 배열 만들고 [행] [열] 넣어주면 됨.
- 걍 직관적으로 표의 형태로 만들어도 초기화 가능
- 2차원 배열은 행 배열의 배열(열)이라고 생각하면 됨.
- 그래서 첫 줄은 score[0] 배열에서의 다시 0,1,2 각각에 값이 할당 되는 것
//2차원 배열은 2중포문을 사용하는 거 기억!
for (int i = 0; i < score.length; i++) { //행 ex. 4
for (int j = 0; j < score[i].length; j++) { //열 ex. 3 열의 길이가 다 다를 수 있으니깐, i로 적어줌.
System.out.printf("score[%d][%d]=%d%n", i, j, score[i][j]);
sum += score[i][j];
}
}
class Ex5_9 {
public static void main(String[] args) {
int[][] score = {
{ 100, 100, 100}
, { 20, 20, 20}
, { 30, 30, 30}
, { 40, 40, 40}
, { 50, 50, 50}
};
//과목별 총점
int korTotal = 0, engTotal = 0, mathTotal = 0;
System.out.println("번호 국어 영어 수학 총점 평균");
System.out.println("=============================");
for(int i=0;i < score.length;i++) {
int sum = 0; // 개인별 총점
float avg = 0.0f; // 개인별 평균
korTotal += score[i][0];
engTotal += score[i][1];
mathTotal += score[i][2];
System.out.printf("%3d", i+1); //행번호가 0에서 시작하니깐 1을 더해줌
for(int j=0;j < score[i].length;j++) {
sum += score[i][j];
System.out.printf("%5d", score[i][j]);
}
avg = sum/(float)score[i].length; //평균은 열(과목 수)로 나눠야 하니깐. 3.0으로 나눠야 해서 float해줌
System.out.printf("%5d %5.1f%n", sum, avg);
}
System.out.println("=============================");
System.out.printf("총점:%3d %4d %4d%n", korTotal, engTotal, mathTotal);
}
}
//결과 값
번호 국어 영어 수학 총점 평균
=============================
1 100 100 100 300 100.0
2 20 20 20 60 20.0
3 30 30 30 90 30.0
4 40 40 40 120 40.0
5 50 50 50 150 50.0
=============================
총점:240 240 240
- print(a); //"ab" ,,?
- 잘 이해는 안 가는데 일단. 기존 내용 변경이 아니라.. 새로 생긴다고? 그게 변경 아님?
- substring(1,4) => to 값인 4는 해당 안되고 1~3까지만 출력. //BCD
- to 생략시, => substring(1) => 1~4까지 출력. 즉, str.length()만큼 나타남. //BCDE
- 등가 연산자 사용하지 말 것. 그걸 쓰면 참조변수를 비교하기 위한 것이지 배열 비교를 위한 것이 아님.
- 범위를 벗어나서 복사하려고 하면, 값에 0이 추가 됨.
728x90
반응형
'Web Developing > Java' 카테고리의 다른 글
[Java] 객체지향 개념 (1) | 2024.04.20 |
---|---|
[Java] 객체지향 언어 (0) | 2024.04.13 |
[java] 배열2 (0) | 2024.04.12 |
[Java] 배열 (0) | 2024.04.02 |
[Java] 조건문과 반복문: if, if else if, switch문 // for, while, do-while문 (1) | 2024.03.29 |