한 학생의 이름, 번호, 국어, 영어,수학 데이터를 입력 받아 총점과 평균을 계산하여 출력하라
Scanner sc = new Scanner(System.in);
String name; // 이름 (문자열)을 구할 변수
int[] score = new int[5]; // 번호,국,영,수, 총합을 구할 숫자 타입의 배열. 이름은 score
float avg; // 평균 계산할 것
String[] title = { "name", "num", "kor", "eng", "math", "total", "avg" };
// 입출력에 사용 할 문자열을 배열로 생성. 이름은 타이틀
System.out.println(title[0] + " : "); // 타이틀 배열의 0번째만 먼저 입력 받을것임
name = sc.next(); //왜냐하면 얘는 혼자 String 을 쓰니까
int i;
for (i = 0; i < 4; i++) { // 이제 숫자를 모두 입력 받을 껀데,
System.out.println(title[i + 1] + " : ");
// 입력 받을 숫자는 1번 부터 4번까지 있으니까 가운데를 i<4로
score[i] = sc.nextInt(); // 번호, 국,영,수 입력 받아 score 배열에 순차적으로 저장
if (i != 0) { // 번호를 제외한
score[4] += score[i]; // 값을 스코어에 더해라
// 0변 방은 번호이다. 이름이 아닌거에 유의하자
}
}
avg = (float) score[4] / 3; // (float): 강제 형변환 캐스팅 연산자 배열과 정수라서 필요함
//이제 프린트 해보자고~
for (i = 0; i < title.length; i++) {
System.out.print(title[i] + "\t"); // 타이틀 프린트 가보자고
}
System.out.println(); 예쁘게 엔터한번 쳐주고
System.out.print(name + "\t"); // 이름 이거 하나만 문자라서 따로 출력 해줌
for (i = 0; i < score.length; i++) {
System.out.print(score[i] + "\t");
} //스코어 배열 한바퀴 돌러주고
System.out.println(avg); // 배열을 출력 하면 String 한줄, Score 한줄 나온다
name | num | kor | eng | math | total | avg |
해니 | 1 | 80 | 70 | 56 | 206 | 68.66 |
먼저 학생데이터를 받을 때 이렇게 예쁘게 받으면 좋겠다고 생각이 들어서 위에 표처럼 출력 해야 겠다는 생각을 했다.
그래서 표 처럼 출력 하기 위해 첫 행을 title 이라는 배열로 생성 해주었다. 안에 들어갈 내용은 이미 알고 있음으로 내용을 지정하여 제한 된 배열로 생성해 주었다. 그게 String[] title = { "name", "num", "kor", "eng", "math", "total", "avg" }; 이것이다.
그리고 값을 받아서 넣을 변수들도 생성 해 줬는데. 1. String : name 밑에 올 문자열을 받을 것이다. 2. int[] score = new int[5]; num ~ total까지의 값을 저장할 배열 생성도 해줬다. 3. 평균을 구할 float 타입 변수도 선언.
이름이 먼저 오니까 출력을 우선 받고, num ~ math 까지 입력을 위해 for 문을 이용하였다. 또한 int 타입의 숫자( 즉, 아까 선언한 int[] score = new int[5]; 배열) 들을 입력 받으면서 국어,영어,수학의 값을 모아 합계를 계산한다. 합계는 score 배열 [4] 에 들어 간다. 여기서 조건은 i 가 0 이 아닐때로 걸어주었는데 그 이유는 0은 num 이라서 점수에 포함이 되지 않기 때문이다.
평균은 score[4] / 3 하면 되는데 하나는 배열 하나는 정수타입이라 형이 맞지 않으니 형 변환도 시켜준다.
그 뒤로는 for 문을 돌리면서 저장 해두었던 내용을 출력하기만 하면 된다.
'JAVA' 카테고리의 다른 글
[JAVA] 자바 피보나치 수열 배열로 구하기 (0) | 2023.02.22 |
---|---|
[JAVA] 자바 배열을 이용한 학생 성적표 만들기2 (0) | 2023.02.22 |
[JAVA] 자바 입력 값을 받는 배열 예제 (0) | 2023.02.21 |
[JAVA] 자바 형변환 (0) | 2023.02.21 |
[JAVA] 자바 입력 값을 받아 배열 완성 (0) | 2023.02.21 |