9.21 6-3일 차 ArrayExample
ArrayExample
1] 학생수를 사용자로부터 입력받자
-Scanner클래스 사용
2] 입력받은 학생 수만큼 국영수 점수 및 총점를 저장할수 있는 int형 배열을 선언하고 메모리를 할당해라
3] 학생 수만큼 각 학생의 국영수 점수를 입력받아 2]에서 생성한 배열에 저장해라.
-Scanner클래스 사용
4] 각 학생의 국영수 점수 및 총점 그리고 평균을 출력하여라.
String[] subjects = {"국어","영어","수학"}; =>사용자에게 메시지를 뿌리기위한 데이터
subjects[k] Scanner sc = new Scanner(System.in);
1] 학생수를 사용자로부터 입력받자
System.out.println("학생수를 입력하세요?");
int numberOfsutdents = sc.nextInt();
2] 입력받은 학생 수만큼 국영수 점수 및 총점를 저장할수 있는 int형 배열을 선언하고 메모리를 할당해라
int[ ][ ] students = new int [numberOfsutdents][NUMBEROFSUBJECTS+1];
3] 학생 수만큼 각 학생의 국영수 점수를 입력받아 2]에서 생성한 배열에 저장해라.
for(int i = 0 ; i <students.length ;i++) { =>i번째 학생 국영수 점수
System.out.println(i+1+"번째 학생의 점수를 입력하세요?");
for(int k = 0; k < NUMBEROFSUBJECTS;k++) {
System.out.println(subjects[k]+"점수를 입력하세요?");
students[i][k] = sc.nextInt(); =>각과목 점수입력받기
students[i][NUMBEROFSUBJECTS] += students[i][k]; =>각 과목의 점수를 마지막방에 누적
}
}
4] 각 학생의 국영수 점수 및 총점 그리고 평균을 출력하여라.
for(int i=0 ; i < numberOfsutdents ; i++) {
System.out.println("==========================");
System.out.println(i+1+"번째 학생 성적");
System.out.println("==========================");
System.out.printf("국어:%d,영어:%d,수학:%d,총점:%d,평균:%.2f%n", 국영수 점수 총점 평균출력
students[i][0],
students[i][1],
students[i][2],
students[i][NUMBEROFSUBJECTS],
(double)students[i][NUMBEROFSUBJECTS]/NUMBEROFSUBJECTS);
}
++++ 복습하다가 출력할 때 이중for문을 써보고 싶어서 바꿨는데..... 더 코드가 지저분해보임.. 이건 더 연구 해봐야할 듯