포인트관리 시스템
1. Silver Class(kh.java.point.model.vo)
#변수 : 이름,등급,포인트,(이자)
#메소드 : 생성자,getter,setter, 이자(getter)
-> Silver등급의경우 포인트의 2%
Gold Class(kh.java.point.model.vo)
#변수 : 이름,등급,포인트,(이자)
#메소드 : 생성자,getter,setter, 이자(getter)
-> Gold등급의경우 포인트의 3%
Vip -> 이자 5%
Vvip -> 이자 7%
2. PntMgr Class(kh.java.point.controller)
#변수 : silver등급을 관리할 객체배열(10명), s_index
gold등급을 관리할 객체배열(10명), g_index
vip등급을 관리할 객체배열(10명), v_index
vvip등급을 관리할 객체배열(10명), vv_index
#메소드 : 생성자, insertData, printData(전체출력)
3. 실행용클래스
-> Run Class(kh.java.point.run)
main()
PntMgr mgr = new PntMgr();
mgr.insertData(new Silver("홍길동","Silver",1000));
mgr.insertData(new Silver("김말똥","Silver",2000));
mgr.insertData(new Silver("고길똥","Silver",3000));
mgr.insertData(new Gold("홍길동","Gold",1000));
mgr.insertData(new Gold("김말똥","Gold",2000));
mgr.insertData(new Gold("고길똥","Gold",3000));
mgr.insertData(new Vip("홍길동","Vip",1000));
mgr.insertData(new Vip("김말똥","Vip",2000));
mgr.insertData(new Vip("고길똥","Vip",3000));
mgr.insertData(new Vvip("홍길동","Vvip",1000));
mgr.insertData(new Vvip("김말똥","Vvip",2000));
mgr.insertData(new Vvip("고길똥","Vvip",3000));
mgr.printData();
--------------------------------------------------------------------
package kh.java.point.run;
import kh.java.point.controller.PntMgr;
import kh.java.point.model.vo.Gold;
import kh.java.point.model.vo.Silver;
import kh.java.point.model.vo.Vip;
import kh.java.point.model.vo.Vvip;
public class Run {
public static void main(String[] args) {
PntMgr mgr = new PntMgr();
mgr.insertData(new Silver("홍길동","Silver",1000));
mgr.insertData(new Silver("김말똥","Silver",2000));
mgr.insertData(new Silver("고길똥","Silver",3000));
mgr.insertData(new Gold("홍길동","Gold",1000));
mgr.insertData(new Gold("김말똥","Gold",2000));
mgr.insertData(new Gold("고길똥","Gold",3000));
mgr.insertData(new Vip("홍길동","Vip",1000));
mgr.insertData(new Vip("김말똥","Vip",2000));
mgr.insertData(new Vip("고길똥","Vip",3000));
mgr.insertData(new Vvip("홍길동","Vvip",1000));
mgr.insertData(new Vvip("김말똥","Vvip",2000));
mgr.insertData(new Vvip("고길똥","Vvip",3000));
mgr.printData();
}
}
--------------------------------------------------------------------
package kh.java.point.model.vo;
public class Vvip extends Grade {
public Vvip() {
}
public Vvip(String name, String rank, int point) {
super(name,rank,point);
}
@Override
public double getEija() {
return getPoint()*0.07;
}
}
------------------------------------------------------------
package kh.java.point.model.vo;
public class Vip extends Grade {
public Vip() {
}
public Vip(String name, String rank, int point) {
super(name,rank,point);
}
@Override
public double getEija() {
return getPoint()*0.05;
}
}
---------------------------------------------------------------
package kh.java.point.model.vo;
public class Silver extends Grade {
public Silver() {
}
public Silver(String name, String rank, int point) {
super(name,rank,point);
}//내 생성자를 호출했을때 값3개를 전달해준다. 그럼 grade에 생성자로 바로 간다.
@Override//부모객체에있는 Eija를 내가 명시해서 쓸꺼야.
public double getEija() {
return getPoint()*0.02;
}//실버의 이자포인트를 썼다.
//이렇게 하면 실버 객체가 끝난다.
//
// public Silver(String name, String rank, int point) {
//
// this.name=name;
// this.rank=rank;
// this.point=point;
// }
//
//
//
// private String name;//이름
// private String rank;//등급
// private int point;//등급
//
// public String getName() {
// return name;
// }
//
// public void setName(String name) {
// this.name = name;
// }
//
// public String getRank() {
// return rank;
// }
//
// public void setRank(String rank) {
// this.rank = rank;
// }
//
// public int getPoint() {
// return point;
// }
//
// public void setPoint(int point) {
// this.point = point;
// }
//
// public double getEija() {
// return (point*0.02);//정수랑 실수연산하면 어차피 자동형변환이라 강제형변환 안해줘도 된다.
// }
// public void setEija(int point) {
// this.point = point;
// }
//
//
// public Silver() {
//
// }//기본생성자
//
}
----------------------------------------------------------------------
package kh.java.point.model.vo;
public class Grade {
private String name;
private String rank;
private int point;
public Grade() {
}//기본생성자
public Grade(String name, String rank, int point) {
this.name = name;
this.rank = rank;
this.point = point;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public int getPoint() {
return point;
}
public void setPoint(int point) {
this.point = point;
}
public double getEija() {
return point;
}
}
------------------------------------------------------------
package kh.java.point.model.vo;
public class Gold extends Grade {
public Gold() {
}//기본생성자
public Gold(String name, String rank, int point) {
super(name,rank,point);
}
@Override//부모객체에있는 Eija를 내가 명시해서 쓸꺼야.
public double getEija() {
return getPoint()*0.03;//정수랑 실수연산하면 어차피 자동형변환이라 강제형변환 안해줘도 된다.
}//this안써도된다.
// private String name;//이름
// private String rank;//등급
// private int point;//등급
//
// public Gold(String name, String rank, int point) {
// this.name = name;
// this.rank=rank;
// this.point=point;
// }
//
//
//
//
// public String getName() {
// return name;
// }
// public void setName(String name) {
// this.name = name;
// }
// public String getRank() {
// return rank;
// }
// public void setRank(String rank) {
// this.rank = rank;
// }
// public int getPoint() {
// return point;
// }
// public void setPoint(int point) {
// this.point = point;
// }
}
-----------------------------------------------------------------
package kh.java.point.controller;
import kh.java.point.model.vo.Gold;
import kh.java.point.model.vo.Silver;
import kh.java.point.model.vo.Vip;
import kh.java.point.model.vo.Vvip;
public class PntMgr {
int s_index=0;
int g_index=0;
int v_index=0;
int vv_index=0;
public PntMgr() {
}//생성자
Silver [] s = new Silver[10];
Gold [] g = new Gold[10];
Vvip [] vv = new Vvip[10];
Vip [] v = new Vip[10];
public void insertData(Silver s) {
this.s[s_index++]=s;
}
public void insertData(Gold g) {
this.g[g_index++]=g;
}
public void insertData(Vip v) {
this.v[v_index++]=v;
}
public void insertData(Vvip vv) {
this.vv[vv_index++]=vv;
}
public void printData() {
System.out.println("<< =================== information =================== >>");
System.out.println("이름 \t\t 등급 \t\t 포인트 \t 이자포인트 \t");
for(int i=0; i<s_index; i++) {
System.out.printf((i+1)+"%s \t %s \t %d \t\t %.1f\n",s[i].getName(),s[i].getRank(),s[i].getPoint(),s[i].getEija());
}
System.out.println("================================================================");
for(int i=0; i<g_index; i++) {
System.out.printf((i+1)+"%s \t %s \t\t %d \t\t %.1f\n",g[i].getName(),g[i].getRank(),g[i].getPoint(),g[i].getEija());
}
System.out.println("================================================================");
for(int i=0; i<v_index; i++) {
System.out.printf((i+1)+"%s \t %s \t\t %d \t\t %.1f\n",v[i].getName(),v[i].getRank(),v[i].getPoint(),v[i].getEija());
}
System.out.println("================================================================");
for(int i=0; i<vv_index; i++) {
System.out.printf((i+1)+"%s \t %s \t\t %d \t\t %.1f\n",vv[i].getName(),vv[i].getRank(),vv[i].getPoint(),vv[i].getEija());
}
}
}
'IT일반과목 > java' 카테고리의 다른 글
합계(인터페이스) (0) | 2018.07.24 |
---|---|
포인트관리(추상화) (0) | 2018.07.24 |
포인트관리 (0) | 2018.07.24 |
객체배열, 변수 (0) | 2018.07.23 |
Student 만들기 (0) | 2018.07.23 |