자바 성적표 만들기

자바 성적표 만들기

작성일 2016.05.10댓글 1건
    게시물 수정 , 삭제는 로그인 필요

자바로 성적표 만들려고 합니다.

우선 제가 지금까지 만든 소스는

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class aas {
  public static void main(String args[]) throws IOException {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

    int len = 10;  // 총원
    String students[][] = new String[len][9];
    String tmp[] = {"0", "0", "0", "0", "0", "0", "0", "0", "0"};
    
    for(int i = 0; i < len; i++){
      System.out.print("학번 : ");
      String number = in.readLine();        
      students[i][0] = number;
         
      System.out.print("이름 : ");
      String name = in.readLine();
      students[i][1] = name;
 
      System.out.print("국어 : ");
      int korean = Integer.parseInt(in.readLine());
      students[i][2] = Integer.toString(korean);
 
      System.out.print("영어 : ");
      int english = Integer.parseInt(in.readLine());
      students[i][3] = Integer.toString(english);
 
      System.out.print("수학 : ");
      int math = Integer.parseInt(in.readLine());
      students[i][4] = Integer.toString(math);
 
      System.out.print("과학 : ");
      int science = Integer.parseInt(in.readLine());
      students[i][5] = Integer.toString(science);
 
      int sum = korean + english + math + science;
      students[i][6] = Integer.toString(sum);
         
      double avg = sum/4.0f;
      students[i][7] = Double.toString(avg);
 
      String grade = null;
 
      if(avg >= 90){
        grade = "A";
      }else if(avg >= 80){
        grade = "B";
      }else if(avg >= 70){
        grade = "C";
      }else if(avg >= 60){
        grade = "D";
      }else{
        grade = "F";
      }   
      students[i][8] = grade;
      System.out.println();       
    }
  
    for(int i = 0; i < len; i++){
      for(int j = i + 1; j < len; j++){
        if(Integer.parseInt(students[i][6]) < Integer.parseInt(students[j][6])){
          for(int k = 0; k < 9; k++){
            tmp[k] = students[i][k];
            students[i][k] = students[j][k];
            students[j][k] = tmp[k];
          }
        }
      }
    }

    System.out.println("학번\t이름\t국어\t영어\t수학\t과학\t총점\t평균\t학점\t석차");

    for(int i = 0; i < len; i++){
      System.out.print(students[i][0] + "\t");
      System.out.print(students[i][1] + "\t");
      System.out.print(students[i][2] + "\t");
      System.out.print(students[i][3] + "\t");
      System.out.print(students[i][4] + "\t");
      System.out.print(students[i][5] + "\t");
      System.out.print(students[i][6] + "\t");
      System.out.print(students[i][7] + "\t");
      System.out.print(students[i][8] + "\t");
      System.out.print((i + 1) + "\n");
    }
  }
}

콘솔창에 한줄로 
학번(4자리 정수) 이름(한글 3자리) 국어점수 (3자리정수) 수학 영어 과학 총점 평균 학점
이렇게 한 학생의 정보를 한줄로 적으려고 합니다.
이렇게 해서 총 10명의 학생의 정보를 적고 엔터를 쳤을 때에 결과값이 나타나게 하려 합니다.

어떻게 수정해야 할까요?



profile_image 익명 작성일 -

빨간부분처럼 수정하거나 추가해 보세요.

아래를 참고해서 만들어 보세요.



1. CLASS


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class aas {
  public static void main(String args[]) throws IOException {

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    String students[][] = new String[10][9];
    int len = 3;
  
    String tmp[] = {"0", "0", "0", "0", "0", "0", "0", "0", "0"};


    for(int i = 0; i < len; i++){
      System.out.println("학번 이름 국어 영어 수학 과학 점수를 차례대로 입력하세요. ");
      String status = in.readLine();
      StringTokenizer st = new StringTokenizer(status, " ");      


      int count = 0;
      while(st.hasMoreTokens()){
        students[i][count] = st.nextToken();
        count++;
      }
 
      int sum = Integer.parseInt(students[i][2]) + Integer.parseInt(students[i][3]) + Integer.parseInt(students[i][4]) + Integer.parseInt(students[i][5]);

      students[i][6] = Integer.toString(sum);


      double avg = sum/4.0f;
      students[i][7] = Double.toString(avg);
 
      String grade = null;
 
      if(avg >= 90){
        grade = "A";
      }else if(avg >= 80){
        grade = "B";
      }else if(avg >= 70){
        grade = "C";
      }else if(avg >= 60){
        grade = "D";
      }else{
        grade = "F";
      }
      students[i][8] = grade;
    }
  
    for(int i = 0; i < len; i++){
      for(int j = i + 1; j < len; j++){
        if(Integer.parseInt(students[i][6]) < Integer.parseInt(students[j][6])){
          for(int k = 0; k < 9; k++){
            tmp[k] = students[i][k];
            students[i][k] = students[j][k];
            students[j][k] = tmp[k];
          }
        }
      }

    }


    System.out.println("학번\t이름\t국어\t영어\t수학\t과학\t총점\t평균\t학점\t석차");
    System.out.println("======================================================");


    for(int i = 0; i < len; i++){
      System.out.print(students[i][0] + "\t");
      System.out.print(students[i][1] + "\t");
      System.out.print(students[i][2] + "\t");
      System.out.print(students[i][3] + "\t");
      System.out.print(students[i][4] + "\t");
      System.out.print(students[i][5] + "\t");
      System.out.print(students[i][6] + "\t");
      System.out.print(students[i][7] + "\t");
      System.out.print(students[i][8] + "\t");
      System.out.print((i + 1) + "\n");
    }
  }
}



2. RUN



 

자바 성적표 만들기

과제로 성적표를 만들어오라햇는데 학번 이름 국어 학점 이걸로 성적표 만드는거에요. 학번 이 름 국어 학점 201375001 홍기동 90 A...

자바 성적표 만들기

자바성적표 만들려고 합니다. 우선 제가 지금까지 만든 소스는 import java.io.BufferedReader; import java.io.IOException; import java.io....

자바 성적표 만들기 프로그램

public class grade { public static void main(String[] args) { int num[] = {201301989, 201402445, 201303579, 201404984, 201305785}; String name[] = {"김씨", "이씨", "박씨...

자바성적표만드는소스

... 자바 레포트인데요.. 성적표만들기... 할줄을 몰라서 이렇게 올립니다. 메모장에다가 쓰는거에요.. 실행은 시작 실행에서 cmd들어가서.....

JAVA 성적표 만들기 질문이욥

자바로 5명의 성적표 만드는 중인데요,, 이름과 점수를 입력하고,, 이 후에 옵션을 출력해서 단축키 명령을 으로 이름변경...

구글시트 바코드 날짜 업데이트 실시간

... 구글 스프레드시트 활용 성적표 만들기 (기초 .. : 네이버블로그 (naver.com) 1.... 구글 스크립트 또한 이식성이 뛰어난 자바의 능력을 계승한 자바스크립트를...