- Array?
: 배열을 의미하며, 타입이 같은 변수들을 여러 개 모아 놓은 자료형이다(일차원일때)
: 생성 방법
int[] arr = new int[5] // 배열의 길이가 5인 arr생성
int[] arr2 = {1,2,3} //배열의 길이가 3이고, 1,2,3이 들어있는 arr2 생성
: 배열의 길이? 배열이름.length; 를 통해 알 수 있다.
: 배열은 한 번 생성하면 수정이 불가능
-> 수정 방법 : 새로운 배열 생성 -> 배열 값 복사 -> 참조변수 변경
- 2차원 배열
int[][] arr = new int[3][2]; //2개를 저장할 수 있는 배열 3개 생성
: 2차원 배열 행의 길이 ? arr.length; (nested_loop활용)
: 2차원 배열 열의 길이? arr[i].length; (nested_loop활용)
- 2차원 배열 이용해서 성적 관리 프로그램 만들기
문제 제시
① 학생 3명의 이름은 "피카츄","뽀로로", "브레드"
String[] names = new String[] { "피카츄","뽀로로", "브레드"};
② 과목 3개 이름은 "국어", "영어", "수학"
String[] subjects = {"국어", "영어", "수학"};
③ 2차원 배열 socres 사용해서 학생은 행, 과목은 열에 넣기
int[][] scores = new int[names.length][subjects.length];
④ 점수는 사용자가 입력 (Scanner)
⑤ 출력형태
국어 영어 수학 총점 평균
---------------------------------------
피카츄 0 0 0 0 0
뽀로로 0 0 0 0 0
브레드 0 0 0 0 0
---------------------------------------
총점 0 0 0 0 0
- 작성 코드
public class Practice3 {
private static void quiz1() {
String[] names = new String[] { "피카츄","뽀로로", "브레드"};
String[] subjects = {"국어", "영어", "수학"};
int[][] scores = new int[names.length][subjects.length];
Scanner s = new Scanner(System.in);
//점수 입력 받는 코드
for(int i=0; i <names.length; i++) {
System.out.println(names[i]+"의 점수입력 ");
for(int j=0; j<subjects.length; j++) {
System.out.print(subjects[j]+ "점수 >> ");
scores[i][j] = s.nextInt();
}
}//end of outer_for
// 국어 영어 수학 총점 평균 코드
System.out.print("\t");
for(int i=0; i<subjects.length; i++) {
System.out.print(subjects[i]+"\t");
} System.out.println("총점"+"\t"+"평균");
System.out.println("--------------------------------------------");
int korsum=0; int engsum=0; int mathsum=0;
// 학생이름 국어점수 영어점수 수학점수 총점 평균 코드
for(int i=0; i<scores.length; i++) {
int sum = 0; // 학생이 바뀌면 sum은 리셋
System.out.print(names[i]+"\t");
for(int j=0; j<scores[i].length; j++) {
System.out.print(scores[i][j]+"\t");
sum += scores[i][j];
} //end of inner
System.out.print(sum+"\t"+sum/scores[i].length);
System.out.println();
korsum += scores[i][0];
engsum += scores[i][1];
mathsum += scores[i][2];
} // end of outer_for
System.out.println("---------------------------------------------");
System.out.println("총점"+"\t"+korsum +"\t"+engsum+"\t"+mathsum);
}//end of class
public static void main(String[] args) {
quiz1();
}
}
-> 학원 강의 복습 : 점수입력 받기 + 네임과 각 점수 출력하기
+ 생각 더하기 : 총점, 평균 구현 해보기
'국비 > JAVA' 카테고리의 다른 글
문자 기반 (보조)Stream (0) | 2021.09.02 |
---|---|
컬렉션 프레임워크 (0) | 2021.09.01 |
LOMBOK (0) | 2021.09.01 |
상속_추상클래스와 인터페이스 (0) | 2021.08.30 |
메서드,반복문, 조건문을 이용한 자판기만들기 (0) | 2021.08.29 |
댓글