반응형
package pcksrc;
public class student {
private String name;
private int kr;
private int en;
private double avg;
private char grade;
public student(){}
public student(String name, int kr, int en){
setName(name);
setKr(kr);
setEn(en);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKr() {
return kr;
}
public void setKr(int kr) {
if(kr > 0 && kr <= 100) this.kr = kr;
else this.kr = 0;
setAvg();
}
public int getEn() {
return en;
}
public void setEn(int en) {
if(en > 0 && en <= 100) this.en = en;
else this.en = 0;
setAvg();
}
public double getAvg() {
return avg;
}
private void setAvg() {
this.avg = (kr+en)/2;
setGrade();
}
public char getGrade() {
return grade;
}
private void setGrade() {
if(avg>90.0) this.grade = 'A';
else if(avg>80) this.grade = 'B';
else if(avg>70) this.grade = 'C';
else if(avg>60) this.grade = 'D';
else this.grade = 'F';
}
}
package pckmain;
import javax.swing.JOptionPane;
import pcksrc.student;
/*
* pcksrc에 student클래스 선언
* 필드는 모두 private
* - 이름, 국어, 영어, 평균 , 등급..
* 멤버 메소드
* - 생성자
* 이름, 국어 , 영어를 넣고 생성할 수 있게..
* - setter,getter..
* set : setName. setKr : 0이상 100이하만 저장, setEn : 0이상 100이하만 저장
* setAvg :
* setGrade : 꼼수 부리지 못하게.. 국어와 영어점수에 결정되야한다. 사용자 접근 막아야함
*
* get :
* getName, getKr, getEn, getAvg, getGrade..
*
* - main 클래스 Quiz01에서 메뉴 생성
* 1. 등록 2. 보기 - 이름, 평균, 등급.. 3. 합격확인(평균 60이상이면..) 4. 종료
*/
public class Quiz01 {
public static void main(String[] args) {
String name = "";
int kr = 0 ;
int en = 0 ;
while (true) {
String tmp = "1. 등록\n2. 보기\n3. 합격확인\n4. 종료\n";
tmp = JOptionPane.showInputDialog(tmp);
int tmp2 = Integer.parseInt(tmp);
student st = new student(name, kr, en);
switch (tmp2) { //tmp2.equals("1")방식 사용 가능...
case 1:
tmp = JOptionPane.showInputDialog("이름을 입력하세요.");
name = tmp;
tmp = JOptionPane.showInputDialog("국어점수를 입력하세요.");
kr = Integer.parseInt(tmp);
tmp = JOptionPane.showInputDialog("영어점수를 입력하세요.");
en = Integer.parseInt(tmp);
continue;
case 2:
tmp = "이름 : "+st.getName() + "\n평균 : "+st.getAvg() + "\n등급 : "+st.getGrade()+"\n";
JOptionPane.showMessageDialog(null, tmp);
continue;
case 3:
if(st.getAvg() > 60) JOptionPane.showMessageDialog(null, "합격입니다~");
else JOptionPane.showMessageDialog(null, "불합격입니다.");
continue;
case 4:
JOptionPane.showMessageDialog(null, "종료합니다.");
return;
}
}
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] Inheritance(상속) 사용 예제 (0) | 2023.04.21 |
---|---|
[JAVA] Package 사용 예제 (0) | 2023.04.21 |
[JAVA] 출판사 책 관리 - 클래스 활용 예제 (0) | 2023.04.21 |
[JAVA] method override(재정의) 사용 예제 (0) | 2023.04.21 |
[JAVA] abstract class(추상클래스) 사용 예제 (0) | 2023.04.21 |