디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

형들 이것좀 수정해줘요ㅠㅠ 머리가 갑자기 굳었다.

아씨발꿈(220.87) 2011.04.02 19:58:26
조회 253 추천 0 댓글 13





========================ClassRoom.java==============================

public class ClassRoom

{
 private Student[] students = new Student[10];
    private int size;
 
 
 
 
 
 public void printStudent(){
        for(int i= 0; i<size; i++){
   students[i].printStudent();
  }


 }


 public void addStudent(Student st){

  students[size++] = st;  //++size 먼저 1이 증가함. // 이것은 먼저 0을 저장하고 1을 더함


 }

 public int getSize(){
  return size;
 }

 public void setClassRank(){
         Student[] temp = new Student[size];

   for(int i=0; i<size; i++){
    temp[i] =students[i];
   }

   for(int i= 0; i<size-1; i++){
    for(int j=i+1; j<size; j++){
     if (temp[i].getTot() < temp[j].getTot()){
      Student t = temp[i];
      temp[i] = temp[j];
      temp[j] = t;
     }
    }
   }
   for(int i=0; i<size; i++){
                 temp[i].setClassRank(i+1);
   }
 }


     
     public Student getStudent(int index){
 
  return students[index];
 }

 
}
================ScoreManager.java=========================================================

import java.util.*;


public class ScoreManager {
 
 private Scanner sc;
 private boolean bContinue=true;
 private Student[] classRoom;
 private int no = 0;
 int classNum = 0;
 ClassRoom[] classes;

 public static void main(String[] args) {
  new ScoreManager().go();
 }

 private void go() {
  //정의
  sc = new Scanner(System.in);
  classRoom = new Student[10];
  
  
  showTitle();
  classNum = howManyClasses();
  classes = new ClassRoom[classNum];
  for( int i = 0; i<classNum; i++){
   classes[i] = new ClassRoom();
  }
  
  while(bContinue){
   int menu = showMenu();
   
   switch(menu){
   case 0:
    System.out.println("프로그램을 종료합니다....");
    bContinue=false;
    break;
   case 1:
    inputStudent();
    break;
   case 2:
    showScoreTable();
    break;
   default:
    System.out.println("메뉴는 (0-2) 사이의 값만 선택가능합니다.");
    break;
   }
  }
  
 }

 private void showScoreTable() {
  System.out.println();
  System.out.println("=====================성적 처리 결과========================");
  System.out.println("반 번호 이름   국어 영어 수학 총점 평균 학점 반석차 전체석차");
  System.out.println("===========================================================");
  setTotalRank();
  
  
  for(int i=0; i<classNum; i++){
    classes[i].setClassRank();
          classes[i].printStudent(); //classes[0] 종료후 --------------출력, classes[1] 종료후ㅠ -------출력 classes[classnum-1] 종료후====== 출력
   
    
    
    
    System.out.println("----------------------------------------------------------");
    
   }
    
    
   
   
   System.out.println("===========================================================");
   
  
 }
  

 

 private void setTotalRank(){

        int totalSize = 0;

  for(int i=0; i<classNum; i++){
   totalSize += classes[i].getSize();
  }
  
  Student[] temp = new Student[totalSize];
        int count = 0;
        for(int i=0; i<classNum; i++){
   for(int j=0; j<classes[i].getSize(); j++){
    temp[count++] = classes[i].getStudent(j);
   }
  }

  //정렬과정
        for(int i=0; i<totalSize-1; i++){
     for(int j=i+1; j<totalSize; j++){
    if(temp[i].getTot() < temp[j].getTot())
    {
      Student t = temp[i];
      temp[i] = temp[j];
      temp[j] = t;
    }
   }
  }
     for(int i=0; i<totalSize; i++){
                 temp[i].setTotalRank(i+1);
   }
 
 

 }

 private void inputStudent() {
  try{
  
  

  System.out.println("======성적 입력=====");
  System.out.print("몇 반 학생을 추가합니까?(1~"+classNum+")");
  int ban = sc.nextInt();
  int no = classes[ban-1].getSize()+1;
   System.out.print(no+"번 학생 이름 = ");
   sc.reset();
   String name = sc.next();
   sc.reset();
   System.out.print("국어 = ");
   int kor = sc.nextInt();
   System.out.print("영어 = ");
   int eng = sc.nextInt();
   System.out.print("수학 = ");
   int mat = sc.nextInt();
            //학생 생성;
            Student st = new Student(ban, no, name, kor, eng, mat);
   
   classes[ban-1].addStudent(st);  //student[size++] = st;  size=0  size = size + 1;

  } catch (Exception e){
   System.out.println("잘못된 정보 입력으로 메뉴로 돌아갑니다.");
   sc.nextLine();
   return;
  
  
  
  }
  
   
 }

 private void showTitle() {
  System.out.println();
  System.out.println("==========================================");
  System.out.println("=            성적 관리 프로그램          =");
  System.out.println("=                              ver 0.2   =");
  System.out.println("=                        created by JI   =");
  System.out.println("= 설명:반별로 성적을 관리할 수 있습니다. =");
  System.out.println("==========================================");
  
 }

 private int showMenu() {
  int menu=-1;
  System.out.println();
  System.out.println("===================메 뉴===================");
  System.out.println("0 : 프로그램 종료");
  System.out.println("1 : 성적 입력");
  System.out.println("2 : 성적 출력");
  System.out.println("===========================================");
  System.out.print("선택 >> ");
  try{
   menu = sc.nextInt();
  } catch (Exception e){
   System.out.println("숫자만 입력 가능합니다.");
   sc.nextLine();   
  }
  return menu;
 }

   private int howManyClasses() {
     System.out.print("몇 개의 학급을 생성하겠습니다?");
  int num = sc.nextInt();
  return num;
   }

 

}
===========================================Student.java==========================================
public class Student {
 private int classNum;
 private String name;
 private int no;
 private int kor;
 private int eng;
 private int mat;
 private int tot;
 private double avg;
 private String grade;
 private int classRank;
 private int totalRank;
 
 
    public Student(int ban, int no, String name, int kor, int eng, int mat){

       classNum = ban;
    this.no = no;//(class에 있는 변수를 사용)  this.no는 class에 , no은 Student 생성자)
       this.name = name;
    this.kor = kor;
    this.eng = eng;
    this.mat = mat;
    calcTot();
    calcAvg();
    calcGrade();


 }
    public void calcGrade(){
  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";

 }

 public void calcTot(){
  tot = kor+eng+mat;  
 }
 
 public void calcAvg(){
  avg = tot/3.0f;
 }

    public void printStudent(){
  System.out.printf("%2d %4d %3s %4d %4d %4d %4d %4.1f %2s %6d %8d \\n",
        classNum, no, name, kor, eng, mat, tot, avg, grade, classRank, totalRank);
  
 }

 

 public int getTot(){
  return tot;
 }

 public void setClassRank(int rank){
  classRank = rank;
 }

 


 public void setTotalRank(int rank){
  totalRank = rank;
 }

 


}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이성보다 동성에게 매력을 더 어필할 것 같은 남자 스타는? 운영자 24/07/29 - -
247789 c++ visual studio 6.0 복소수클래스 과제좀도와줘요 형들ㅠ [2] wslov갤로그로 이동합니다. 11.04.28 243 0
247788 오늘 우분투데이인데 언제쯤 나오려나.. 아침에 일어나면 나오려나.. [2] 정 경호갤로그로 이동합니다. 11.04.28 89 0
247787 안드로이드 어플 개발하는 횽들 나좀 살려줏메 ㅠㅠ [11] 헐킈(58.143) 11.04.28 133 0
247786 소울 베이비 [1] rm . dd갤로그로 이동합니다. 11.04.28 77 0
247785 그나저나 재보선 결과보니 한나라당 좆망했네 [2] ===(218.51) 11.04.28 105 0
247784 솔까 비주얼스튜디오는 6.0이 짱임 ===(218.51) 11.04.28 89 0
247783 아 2시간동안 뭘 할까여 [7] [성대아싸]갤로그로 이동합니다. 11.04.28 92 0
247782 객체지향 말이 나와서 얘긴데... [2] rm . dd갤로그로 이동합니다. 11.04.28 122 0
247780 개뻘글. 가위바위보 쉽게 판별하긔 [9] ===(218.51) 11.04.28 92 0
247778 오빠들..c언어좀 알려줘 쉬운거야ㅠ! [9] 이쁘니(211.33) 11.04.28 194 0
247777 프로그래밍 사양서 ㄱㅈㅂ(125.138) 11.04.28 63 0
247775 진짜 레알 객체지향 언어 [8] [성대아싸]갤로그로 이동합니다. 11.04.28 269 0
247774 다 만들고 보니까 문득 생각이 들었다. [9] ㄱㅈㅂ(125.138) 11.04.28 106 0
247773 안녕하세요 형님들! [3] 권은성갤로그로 이동합니다. 11.04.28 46 0
247772 프갤러 오빠들은 역시 짱 [15] ㄱㅈㅂ(125.138) 11.04.28 161 0
247771 갤이 정전됫으야 Adelposs갤로그로 이동합니다. 11.04.28 37 0
247770 아오~ 이거 짱나네 . [17] ssonacy갤로그로 이동합니다. 11.04.28 108 0
247769 저 자바 질문있어염~ 'ㅅ' [1] SPlCA갤로그로 이동합니다. 11.04.28 35 0
247767 비주얼 스튜디오 버젼좀 추천해주세요 [14] 반헤일런갤로그로 이동합니다. 11.04.28 185 0
247766 존나 쉬운 문제로 또 끙끙앓기 [6] ㄱㅈㅂ(125.138) 11.04.28 86 0
247765 .아니 어떻게 포춘코인을 두번이나 실패했는데 살아있지? Adelposs갤로그로 이동합니다. 11.04.28 29 0
247764 밑에 알고리즘 순서도 정답 [12] ㅇㅇ(121.143) 11.04.27 229 0
247761 비주얼 스튜디오 6.0에서 한글 입력이 안되요.. [10] 반헤일런갤로그로 이동합니다. 11.04.27 1932 0
247760 아마추어가 게임제작하기위해 필요한것 뭐있나요 횽들.... [1] 드라실란갤로그로 이동합니다. 11.04.27 86 0
247759 형들 생성자 소멸자 질문있어요 [4] 그레네일갤로그로 이동합니다. 11.04.27 55 0
247758 알고리즘 자신 있는 사람만 [10] ㅇㅇ(121.143) 11.04.27 228 0
247757 방통대는 수업방식이 어떻게 돼? [7] 고래상어(218.155) 11.04.27 347 0
247756 혹시 PHP 할줄아는 횽 있으면 부탁좀.. 정 경호갤로그로 이동합니다. 11.04.27 56 0
247755 갤러님들 나 과제하는데 이것좀 도와줘..ㅜㅜ 동적배열.. for문... [8] ☆황쥐블링☆갤로그로 이동합니다. 11.04.27 99 0
247754 나 왔수다 [1] 카레맛카레갤로그로 이동합니다. 11.04.27 89 0
247753 유엠엘 툴 투게더 쓰는 횽 있남? ㄴㅁㅇㄴㅁㅇ(14.44) 11.04.27 50 0
247751 중형 사이트 만드려면 어떤거 부터 배워야하냐??> [2] 메가tv오빠(112.156) 11.04.27 72 0
247750 fopen 함수때문에 계속 오류나는데 ㅁㅁ(220.72) 11.04.27 31 0
247749 사람은 감정을 10%만 드러내야 한다. [3] dd(121.133) 11.04.27 132 0
247748 아오 진짜 포인터 어렵다는 대학 왜 다니냐? [13] (221.139) 11.04.27 182 0
247747 흠 프로그래밍을 해야되는데 뭘하면 쉬울까요?? [3] ddd(221.147) 11.04.27 62 0
247746 모닝글로리님과 일개프갤꼴통과의 차이점. [2] ddd(121.169) 11.04.27 80 0
247743 it업체들 판교로 언제오나여 으헝'ㅅ' [2] 풀개미'ㅅ'갤로그로 이동합니다. 11.04.27 124 0
247742 꼬꼬마가 취업관련해서 프갤형님들께 질문합니다. [2] 조럽생(121.140) 11.04.27 81 0
247741 형들 어셈블리 sub 질문점 ㅠㅠ [3] 4(118.176) 11.04.27 92 0
247740 후하 미치겠네 VS 2008 MFC좀 아시는분..? [6] rm . dd갤로그로 이동합니다. 11.04.27 117 0
247739 스캐너 제네레이터 구현 연재..............마지막임 [2] [성대아싸]갤로그로 이동합니다. 11.04.27 168 0
247738 임베디드 할대 qt프로그래밍이면 당연히 리눅스꺼 다운받아야 되지? [1] ddd(61.75) 11.04.27 77 0
247737 곧있으면 JSP시험.. 츄팝이갤로그로 이동합니다. 11.04.27 50 0
247736 MAC주소 잘아는 형들 궁금한거 풀어주세여!(조공이씀) 몽몽이`-^♡갤로그로 이동합니다. 11.04.27 183 0
247735 블앤소 별루네 잏힝(61.255) 11.04.27 60 0
247734 스캐너 제네레이터 구현 연재............. [성대아싸]갤로그로 이동합니다. 11.04.27 99 0
247733 <<td>>dddd 정 경호(118.216) 11.04.27 50 0
247732 악, 다이나 리눅스에서 실버라이트 된닷... [5] 분당살람갤로그로 이동합니다. 11.04.27 223 0
247731 디씨는 쿠키스니핑에대해서 어떤 보안책을 세우고 있을까? [5] 고래상어(218.155) 11.04.27 172 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2