[Java] 학생성적관리

Young eee·2022년 12월 26일

Java

목록 보기
11/22
post-thumbnail

📌 학생성적관리

// 학생성적관리
String name[] = {"홍길동", "성춘향", "일지매"};
int language[] = { 90, 100, 95 };
int math[] = { 95, 95, 80 };
int english[] = { 100, 90, 85 };
		
		//지정과목의 총점 출력
		System.out.println("영어점수의 합계는 " + subjectOne(language) + "입니다.");

		//지정과목의 평균 출력
		System.out.println("수학점수의 평균은 " + subjectTwo(math) + "입니다.");
		
		//지정 학생의 총점과 평균
		/* 
        int average[] = new int[1];
		int sum = subjectThree(name, language, math, english, average);
		System.out.println("총점 = " + sum + ", 평균 = " + average[0]);
        */
		studentSumAndAvg("일지매", name, language, math, english);
		
		//지정과목의 1등은 누구?
		subjectNumberOne("영어", name, english);
	}
/////////////////////////////////////////////////////////////////////////////
		// TODO : 지정과목의 총점 함수
		static int subjectOne (int arr[]) {
			int result = 0;
			for (int i = 0; i < arr.length; i++) {
				result += arr[i];
			}
			return result;
		}
		
		// TODO : 지정과목의 평균 함수
		static double subjectTwo (int arr[]) {
			int sum =  subjectOne(arr);
			double avg = sum / arr.length;
			return avg;
		}
		
		/* TODO : 한명의 학생의 총점과 평균 함수.ver1
		static int subjectThree(String arr1[], int arr2[], int arr3[], int arr4[], int average[] ) {
			//이름 입력
			Scanner sc = new Scanner(System.in);
			System.out.print("학생의 이름을 입력하세요 >>");
			String str = sc.next();
			// 지정학생의 총점 초기화
			int sum = 0;
			//학생의 국영수 점수 합산&평균
			for(int i= 0; i < arr1.length; i++) {
				if (str.equals(arr1[i]) == true) {
					sum = arr2[i] + arr3[i] + arr4[i];
					average[0] = sum / 3;
				}
			}
			return sum;
		}
		*/
        
        // TODO : 한명의 학생의 총점과 평균 함수.ver2
		static void studentSumAndAvg (String student, String name[], int lang[], int math[], int eng[]) {
			//검색
			int index = -1;
			for (int i = 0; i < name.length; i++) {
				if(student.equals(name[i])) {
					index = i;
					break;
				}
			}
			// index 초기값을 0이 아닌 -1로 해준 이유
			if (index == -1) {
				System.out.println("학생정보를 찾을 수 없습니다");
				return; //아래 작업을 하지 않고 나감
			}
			//합계
			int sum = lang[index] + math[index] + eng[index];
			
			//평균
			double avg = sum / 3;
			
			System.out.println(student + "학생의 총점은 " + sum + "이고 평균은 " + avg + "입니다.");
		}
		// TODO :  지정과목의 1등은 누구?(이름출력)
		static void subjectNumberOne(String title, String name[], int subject[]) {
			int numberOne = 0;
			int max = subject[0];
			for (int i = 0; i < subject.length; i++) {
				if(max < subject[i]) {
					max = subject[i];
					numberOne = i;
				}
			}
			System.out.println(title + "과목의 1등은 "
								+ name[numberOne] + "이며 " + subject[numberOne] + "입니다");
		}

0개의 댓글