방치하기

홍대 자바 수업 객체 학생 석차 셀레션 정렬 본문

홍익대 Java/수업

홍대 자바 수업 객체 학생 석차 셀레션 정렬

Yi Junho 2009. 7. 22. 15:47
반응형

import java.util.*;
import java.io.*;

class Student
{
 private String name;
 private int major []=new int [3];
 private int sum;
 private double avg=0;

 public void setName(){
  
  Scanner scan=new Scanner(System.in);
  System.out.println("학생의 이름을 입력해주세요");
  this.name =scan.next();


 }
   
 public void setMajor(){
  
  for(int i=0;i<3;i++)
  {  

   i++;
   System.out.println(this.name+"의 학생의"+i+"번째 과목의점수를 입력해주세요");
   Scanner scan1=new Scanner(System.in);
   i--;
   this.major [i]=scan1.nextInt();
   
  }
 }
 
 public void sum(){
  
  for(int i=0;i<3;i++)
  {  
   this.sum+=this.major[i];
  }
 }
 
 public void avg(){
  avg=(double)this.sum/3;
 }
 
 public int getSum(){
  return sum;
 }
 public void printDB(){
  System.out.println(this.name +" 과목 1 "+this.major[0]+" 과목 2 "+this.major[1]+" 과목 3 "+this.major[2]+" 평균 "+this.avg);
 }

}


class StuM
{
 private Student[] stus;
 Scanner scan = new Scanner(System.in);

 public void makeStudnet(int n){
  stus = new Student[n];
  stus[0]=new Student();
  stus[1]=new Student();
  stus[2]=new Student();

 }
 public void set1(){
 for(int i= 0 ; i<stus.length ; i++){
  stus[i].setName();
  stus[i].setMajor();
  stus[i].sum();
  }
 }

 public void setAvg(){
  for(int i = 0 ; i < stus.length ; i++){
   stus[i].avg();
  } 
 }

 public void sort(){
  for(int i=0 ; i< stus.length-1 ; i++){//선택정렬
   for(int j=i+1 ; j<stus.length ; j++){
    Student temp_stu;
    if( stus[i].getSum() < stus[j].getSum()){
     temp_stu = stus[i];
     stus[i] = stus[j];
     stus[j] = temp_stu;
    }

   }
  } 
 }

 public void printList(){
  
  for (int i = 0 ; i<stus.length ; i++ )
  {
   stus[i].printDB();
  }
 }

}


class Exam
{
 public static void main(String[] args)
 {
  StuM sManager = new StuM();
  sManager.makeStudnet(3);
  sManager.set1();
  sManager.setAvg();
  sManager.sort();
  sManager.printList();

 
 }
}

반응형
Comments