답변작성하고 등록할려고 했더니 질문을 지워버렸다고 등록이 안되네..

쓸데없이 컬러넣고, 전체소스 모양 정렬한다고 시간 버렸네..

답변 다는 사람이 없는거 같아서.. 괜히 뻘짓했다.

 

이제부턴 소스가 긴건 답변을 달지않아야 겠다.

 

 

질문)

 

여기에다가 4번 총점과 평점대신 학점으로 넣으려고 하려면 어떻게 소스를 짜야대는 지 알려주세요 ㅠㅠ
static Scanner sc = new Scanner(System.in);
public static void showMenu() {
 System.out.println("1.성적입력  2.전체성적  3.개인성적  4.총점과 평점 5.종료");
}
 
public static void inputGrade(int cnt, String[] name, int[][] arr){
int [][]a=new int[3][6];

 System.out.print("이름을 입력하세요 :");
 name[cnt] = sc.nextLine();
 System.out.println("국어 성적을 입력하세요 :");
 arr[cnt][0] = sc.nextInt();
 System.out.println("영어 성적을 입력하세요 :");
 arr[cnt][1] = sc.nextInt();
 System.out.println("수학 성적을 입력하세요 :");
 arr[cnt][2] = sc.nextInt();
 sc.nextLine();
}
 
public static void showAll(int cnt, String[] name, int[][] arr){
 System.out.println("이름\t 국어\t 영어\t 수학\t");
 for(int i=0; i<cnt; i++){
  System.out.print(name[i] + "\t");
  for(int j=0; j<3; j++){
   System.out.print(arr[i][j] + "\t");
  }
  System.out.println();
 }
}
 
public static void showOne(int cnt, String[] name, int[][] arr){
 String str ="";
 System.out.print("출력할 개인의 이름을 입력하세요 :");
 str = sc.nextLine();  
 
 for(int i=0; i<cnt; i++){
  if(str.equals(name[i])){
   System.out.println("이름\t 국어\t 영어\t 수학\t");
   System.out.print(name[i] + "\t");
   for(int j=0; j<3; j++){
    System.out.print(arr[i][j] + "\t");
   }
   System.out.println();
   break;
  }
  else if(i==cnt-1){
   System.out.println("이름을 찾을 수 없습니다.");
  }
 }
 
}
 
public static void outputGrade(int cnt, String[] name, int[][] arr){
 for(int i=0; i<cnt; i++){
  for(int j=0; j<3; j++){
   arr[i][3] += arr[i][j];
  }
  arr[i][4]=arr[i][3]/3;
 }
 
 for(int i=0; i<cnt; i++){
  System.out.print(name[i] + "님의 총점과 평균 : ");
  for(int j=3; j<5; j++){
   System.out.print(arr[i][j] + "\t");
  }
  System.out.println();
 }
}
 
public static void averSub(int cnt, String[] name, int[][] arr){
 int total[] = new int[3];
 int avg[]=new int[3];
 
 for(int i=0; i<3; i++){
  for(int j=0; j<cnt; j++){
   total[i] += arr[j][i];
  }
 }
 
 System.out.println("국어평점\t 영어평점\t 수학평점\t");
 for(int i=0; i<3; i++){
  avg[i] = total[i]/cnt;
  System.out.print(avg[i] + "\t\t");
 }
 System.out.println();
}

public static void main(String[] args) throws Exception {
 String[] name = new String[10];
 int[][] arr = new int[10][5];
 int cnt=0;
 
 while (true) {
  showMenu();
  int menu = sc.nextInt();//정수 입력!
  sc.nextLine();//버퍼를 비워준다!
  
  switch (menu) {
  case 1:
   inputGrade(cnt, name, arr);
   cnt++;
   break;
  case 2:
   showAll(cnt, name, arr);
   break;
  case 3:
   showOne(cnt, name, arr);
   break;
  case 4:
   outputGrade(cnt, name, arr);
   break;
  case 5:
   averSub(cnt, name, arr);
   break;
  case 6:
   System.out.println("프로그램 종료");
   return;
  }
 }
}

}

 

등록못한 답변)

 

아래의 메소드에서 빨간부분을 수정해 주세요.



1.CLASS


1)

public static void showMenu() {
  System.out.println("\n1.성적입력  2.전체성적  3.개인성적  4.학점  5.종료");
}


2)

public static void outputGrade(int cnt, String[] name, int[][] arr){
  String[] grade = new String[cnt];


  for(int i=0; i<cnt; i++){
    for(int j=0; j<3; j++){
      arr[i][3] += arr[i][j];
    }
    arr[i][4]=arr[i][3]/3;
   
    if(arr[i][4] >= 90){
      grade[i] = "A";
    }else if(arr[i][4] >= 80){
      grade[i] = "B";
    }else if(arr[i][4] >= 70){
      grade[i] = "C";
    }else if(arr[i][4] >= 60){
      grade[i] = "D";
    }else{
      grade[i] = "F";
    }
  }


  for(int j=0; j<cnt; j++){
    System.out.print(name[j] + "님의 학점 : ");
    System.out.print(grade[j] + "\t");
    System.out.println();
  }

}



2. RUN


1.성적입력  2.전체성적  3.개인성적  4.학점  5.종료
1
이름을 입력하세요 :a
국어 성적을 입력하세요 :
100
영어 성적을 입력하세요 :
90
수학 성적을 입력하세요 :
90


1.성적입력  2.전체성적  3.개인성적  4.학점  5.종료
1
이름을 입력하세요 :b
국어 성적을 입력하세요 :
90
영어 성적을 입력하세요 :
80
수학 성적을 입력하세요 :
80


1.성적입력  2.전체성적  3.개인성적  4.학점  5.종료
1
이름을 입력하세요 :c
국어 성적을 입력하세요 :
80
영어 성적을 입력하세요 :
70
수학 성적을 입력하세요 :
70


1.성적입력  2.전체성적  3.개인성적  4.학점 5.종료
4
a님의 학점 : A 
b님의 학점 : B 
c님의 학점 : C 


1.성적입력  2.전체성적  3.개인성적  4.학점 5.종료