본문 바로가기

java

java - HashSet 이용한 성적관리 프로그램

data calss

package Study3;
public class Student {
	
	Student(String num,String name, int kor, int eng, int mat){
		this.num = num;
		this.name = name;
		this.kor = kor;
		this.eng = eng;
		this.mat = mat;
	}
	private String num; //학생 코드
	private String name; //이름
	private int kor; //국어 점수
	private int eng; //영어 점수
	private int mat; //수학 점수
	
	// 점수 올 출력
	public int getTotal() {
		return kor + eng + mat;
	}
	
	//평균
	
	public float getAvg() {
		return getTotal()/3.f;
	}
	public String getNum() {
		return num;
	}
	public void setNum(String num) {
		this.num = num;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getKor() {
		return kor;
	}
	public void setKor(int kor) {
		this.kor = kor;
	}
	public int getEng() {
		return eng;
	}
	public void setEng(int eng) {
		this.eng = eng;
	}
	public int getMat() {
		return mat;
	}
	public void setMat(int mat) {
		this.mat = mat;
	}
	
	
	
	
}

 

 

Controller

package Study3;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class ScoreP {
	
	Scanner scanner;
	Set<Student> hs;
	Iterator<Student> it;
	Student st;
	
	String num;
	String name;
	int kor;
	int eng;
	int mat;
	int num1;
	
	
	ScoreP(){
		scanner = new Scanner(System.in);
		hs = new HashSet<Student>();
	}
	
	//입력
	void setInsert() {
		
		
		System.out.println("학생코드를 입력");
		num = scanner.next();
		System.out.println("학생이름");
		name= scanner.next();
		System.out.println("국어 점수");
		kor = scanner.nextInt();
		System.out.println("영어 점수");
		eng = scanner.nextInt();
		System.out.println("수학 점수");
		mat = scanner.nextInt();
		
		st = new Student(num,name,kor,eng,mat);
		hs.add(st);
	}
	
	//출력하기
	void getView() {
		
		System.out.println("출력하실 코드를  입력해주세요");
		num = scanner.next();
	
	       System.out.print("학생 코드 : " + st.getNum());
	        System.out.print("\t 학생 이름 : " + st.getName());
	        
	        System.out.print("국어 점수 : " + st.getKor());
	        System.out.print("\t 영어 점수 : " + st.getEng());
	        System.out.print("\t 수학 점수 : " + st.getMat());
	        System.out.print("\t 합계 : " + st.getTotal());
	        System.out.print("\t 평균 : " + st.getAvg());
		}
	        
	
	
	// 전체 조회
	void getSelect() {
		
		it = hs.iterator();
		
		while(it.hasNext()) {
			st = it.next();
			  getView();
			  if(it.hasNext())
				  System.out.println("======================================");
		}
	}
	void setUpdate() {
		System.out.println("바꾸실 번호를 입력");
		System.out.println("1. 이름  2. 국어 점수 3.수학 점수 4.영어 점수 ");
		num1 = scanner.nextInt();
		
		switch (num1) {
		case 1:
			System.out.println("이름을 수정합니다");
			st.setName(scanner.next());
			break;
		case 2:
			st.setKor(scanner.nextInt());
			break;
		case 3:
			st.setEng(scanner.nextInt());
			break;
		case 4:
			st.setMat(scanner.nextInt());
			break;
	
		default:
			System.out.println("다시 한번 입력바람");
		}
		
		
		
		
	}
	void delete(){
		
		System.out.println("삭제해주실 코드를 검색하세요");
		
		String str =scanner.next();
		
		if(str.equals(st.getNum())) {
			hs.remove(st);
		}
		
		
	}
 
	
}

 

 

Main

package Study3;
import java.util.Scanner;
public class Main {
	
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		ScoreP sp = new ScoreP();
		
	
		
		while(true) {
			int num;
			System.out.println("선택해주세요");
		System.out.println("1. 입력  2.출력  3.수정  4.삭제 5. 전체 조회 ");	
		num = sc.nextInt();
		//입력
		if(num == 1) {
			sp.setInsert();
		}
		else if(num == 2) {
			sp.getView();
		}
		else if(num == 3) {
			sp.setUpdate();
		}else if(num == 4) {
			sp.delete();
		}
		else if(num == 5) {
			sp.getSelect();
		}
		
		}
		
	}
}