package day9;
public class Student {
private static int num = 100;
private String sno;
private String name;
private int kor;
private int eng;
private int mat;
private int total;
private double avg;
private char grade;
public Student() {
this.sno = "S"+num++;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
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;
}
public int getTotal() {
return total;
}
public void setTotal() {
this.total = kor+eng+mat;
}
public double getAvg() {
return avg;
}
public void setAvg() {
this.avg = (kor+eng+mat)/(double)3;
}
public char getGrade() {
return grade;
}
public void setGrade() {
char grade = ' ';
if(this.avg >= 90) {
grade = 'A';
}else if(this.avg >= 80) {
grade = 'B';
}else if(this.avg >= 70) {
grade = 'C';
}else if(this.avg >= 60) {
grade= 'D';
}else {
grade = 'F';
}
this.grade = grade;
}
public void print() {
System.out.printf("%s\t%s\t%d\t%d\t%d\t%d\t%f\t%c\n",sno,name,kor,eng,mat,total,avg,grade);
}
}
메인
package day9;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
List<Student> list = new ArrayList<>();
while(true) {
System.out.println("=====학사관리시스템=====");
System.out.println("1.학생등록 2.리스트 3.검색 4.수정 5.삭제 0.종료");
System.out.print("메뉴선택> ");
int menu = sc.nextInt();
if(menu == 1) {
Student student = new Student();
System.out.print("이름> ");
student.setName(sc.next());
System.out.print("국어점수> ");
student.setKor(sc.nextInt());
System.out.print("영어점수> ");
student.setEng(sc.nextInt());
System.out.print("수학점수> ");
student.setMat(sc.nextInt());
student.setTotal();
student.setAvg();
student.setGrade();
list.add(student);
System.out.println(student.getName()+"학생이 등록되었습니다");
}else if(menu == 2) {
System.out.println("학번\t이름\t국어\t영어\t수학\t총점\t평균\t학점");
System.out.println("---------------------------------------------------");
for(Student s : list) {
s.print();
}
}else if(menu == 3) {
System.out.print("검색할 학번> ");
String sno = sc.next();
boolean find = false;
for(Student s : list) {
// int == 는 스택변수에 저장된 값을 비교 ,String 참조값을 비교할때에는 equals() 사용
if(sno.equals(s.getSno())) {
System.out.println("학번\t이름\t국어\t영어\t수학\t총점\t평균\t학점");
System.out.println("---------------------------------------------------");
s.print();
find = true;
break;
}
}
if(!find) {
System.out.println("조회할 수 없는 학번입니다ㅜㅜ");
}
}else if(menu == 4) {
System.out.print("수정할 학번> ");
String sno = sc.next();
boolean find = false;
for(Student s : list) {
if(sno.equals(s.getSno())) {
System.out.print("수정할 이름> ");
s.setName(sc.next());
System.out.print("수정할 국어> ");
s.setKor(sc.nextInt());
System.out.print("수정할 영어> ");
s.setEng(sc.nextInt());
System.out.print("수정할 수학> ");
s.setMat(sc.nextInt());
s.setTotal();
s.setAvg();
s.setGrade();
System.out.println("수정성공!");
find = true;
break;
}
}
if(!find) {
System.out.println("조회할 수 없는 학번입니다");
}
}else if(menu == 5) {
System.out.print("삭제할 학번> ");
String sno = sc.next();
boolean find = false;
for(Student s : list) {
if(sno.equals(s.getSno())) {
list.remove(s);
System.out.println("삭제성공");
find = true;
break;
}
}
if(!find) {
System.out.println("조회할 수 없는 학번입니다");
}
}else if(menu == 0) {
break;
}else {
System.out.println("다시입력");
}
System.out.println();
}
System.out.println("프로그램 종료");
}
}
'Java > Java icia 9일차' 카테고리의 다른 글
조원끼리 쇼핑몰 만들어보기 (0) | 2023.03.06 |
---|---|
배운것들을 이용해서 게시판 만들어보기 (0) | 2023.03.06 |
배운것들을 이용해 은행시스템 만들기 (0) | 2023.03.06 |
Static 데이터의 이해 (0) | 2023.03.06 |