package jongkyu.run;
import jongkyu.controller.*;
public class Run {
public static void main(String[] args) {
Controller c = new Controller();
c.main();
}
}
-------------------------------------------------
package jongkyu.model;
public class Student {
private int grade;
private int sNum;
private String name;
private int point;//시험점수는 50점부터
private int stress;//원래 갖고있으면서 살고있으니 100부터 시작
//입력할때 넣어주기로 하자.
//getter
//하나는 값 읽어오는용 하나는 세팅하는용을 만들어보겠다.
//getter
public int getGrade() {
return grade;//grade의값을 리턴해준다. -> privat grade값을 리턴해준다.
}//getter
//불러올때는 getgrade를 쓰는데 리턴하고 그레이드이다. 현재값에 저장되어있는걸 반환해줘
//읽어오는 용이라고 생각하면 간단하다.
public int getsNum() {
return sNum;
}
public void setsNum(int sNum) {
this.sNum = sNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPoint() {
return point;
}
public void setPoint(int point) {
this.point = point;
}
public int getStress() {
return stress;
}
public void setStress(int stress) {
this.stress = stress;
}
//setter
public void setGrade(int grade) {//가로안은 메소드변수 grade이고 클래스에있는 grade를 쓰고싶으니
//grade같은경우 클래스에있는 걸 넣고싶기때문에 this라는걸썼다. this를 쓰면 클래스안에 grade를 불러오게 되어있다.
this.grade = grade;
//private에 grade를 넣고싶어서 this를 썼고 이걸 안쓴다면 가로안에있는 grade안에 넣어준다.
//이 클래스변수의 grade를 말하고싶다면 this를 써줘야한다.
}//setter
/*
* grade를 private로 선언을 한고 getter로해서 값을 리턴시킨후 쓰겠다고 해주면 된다.
* setter은 값을
*/
public void cigar() {
stress -= 500;
}
public void study() {
stress +=500;
point -=10;//공부를 하면 성적이 감소된다.
}
public void play() {//pc방
stress -=100;
point +=50;
}
public void test() {
stress +=1000;
eat();//먹으면 스트레스가 감소한다.
}
public void eat() {
stress -= 1000;
}
/*
* 학생이니까 있어야되는것
*/
}
---------------------------------------------------------------------
package jongkyu.controller;
import jongkyu.model.*;
import java.util.Scanner;
public class Controller {
Scanner sc = new Scanner(System.in);
Student s = new Student();//학생등록할거여서 미리 해놓았다.
public void main() {
while(true) {
System.out.println("===== 학생 키우기 =====");
System.out.println("1. 학생 등록");
System.out.println("2. 학생 상태보기");
System.out.println("3. 키우기");
System.out.print("선택 > ");
int sel = sc.nextInt();
switch(sel) {
case 1 : insert(); break; //학생등록이여서 이렇게 했다.
case 2 : view(); break;
case 3 : manage(); break;
default : return; //그외에는 다 종료
}
}
}
public void insert() {
System.out.print("학년 입력 > ");
s.setGrade(sc.nextInt()); //이렇게 바로 처리할 수도 있다.
System.out.print("학번 입력 >");
s.setsNum(sc.nextInt()); //s라는곳에 넣어주곘다.
System.out.print("이름 입력 >");
s.setName(sc.next());
System.out.print("성적 입력 >");
s.setPoint(sc.nextInt());
System.out.print("스트레스 지수 입력 > ");
s.setStress(sc.nextInt());
}
//설정용이니 세팅을 써줘야 한다.
public void view() {
if(s.getGrade()==0) {//메소드이므로 가로를 써줘야 한다.
System.out.println("학생이 등록되지 않았습니다.");
return;
}else {
System.out.println("학년 :"+s.getGrade());//원래 s.grade였는데 이걸이렇게 바꿨다.
System.out.println("학번 :"+s.getsNum());
System.out.println("이름 :"+s.getName());
System.out.println("성적 :"+s.getPoint());
System.out.println("스트레스 지수 :"+s.getStress());
}
}
public void manage() {
while(true) {
System.out.println("1. 공부");
System.out.println("2. PC방");
System.out.println("3. 시험보기");
System.out.println("4. 먹기");
System.out.println("5. 담배");
System.out.print("선택 >");
int sel = sc.nextInt();
switch(sel) {
case 1 : s.study(); break;
case 2 : s.play(); break;
case 3 : s.test(); break;
case 4 : s.eat(); break;
case 5 : s.cigar(); break;
default : return;
}
if(s.getPoint()>=10000) {
System.out.println("장학생입니다. 프로그램 종료합니다.");
return;
}else if(s.getStress() >= 2000) {
System.out.println("스트레스과다로 사망했습니다.");
return;
}
}
}
}
'IT일반과목 > java' 카테고리의 다른 글
자바 상속에 대하여 (0) | 2018.07.22 |
---|---|
TV 객체 만드는거 getter이랑 setter만들어주기(집에서수정한것) (0) | 2018.07.21 |
자바 gettet setter 적용되기전 (0) | 2018.07.20 |
메소드와 객체와 인스턴스 (0) | 2018.07.19 |
자바 약수 구하기 (0) | 2018.07.18 |