题目描述

几个注意点


待改进
- 业务逻辑更符合
 - 操作类中的case里的内容改写为方法,case只需要进行方法的调用
- 密码 不在乎大小写
代码
VipMember.java:VIp成员类
package Test_vipSystem;
public class VipMember {
private String name;
private String accountNumber;
private String password;
private int point;
public VipMember(){
}
public VipMember(String name, String accountNumber, String password, int point) {
this.name = name;
this.accountNumber = accountNumber;
this.password = password;
this.point = point;
}
public void pointSum(double consumptionMoney){
int temp = (int)Math.floor(consumptionMoney);
setPoint(temp+getPoint());
System.out.println("积分成功!");
}
public double exchangeCaculate(int exchangePoint){
if(point >= 100&& point>exchangePoint){
double money = exchangePoint/100*0.1;
setPoint(getPoint()-exchangePoint);
return money;
}
return 0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getPoint() {
return point;
}
public void setPoint(int point) {
this.point = point;
}
}
VipSystem.java:VIP系统类
package Test_vipSystem;
import com.sun.media.sound.RIFFInvalidDataException;
import java.util.*;
public class VipSystem {
public List<VipMember> listMember= new ArrayList();
public void initial(){
listMember.add(new VipMember("张三","96327720","123456",267));
listMember.add(new VipMember("李四","37917406","123456",56));
listMember.add(new VipMember("王五","28910747","123456",90));
listMember.add(new VipMember("孙悟空","61904757","123456",700));
}
public void showInitialInterface(){
System.out.println("*****************欢迎进入超市会员管理系统**************************");
System.out.println("1.积分累计 2.积分兑换 3.查询剩余积分 4.修改密码 5.开卡 6.退出");
System.out.println("**************************************************************");
System.out.println("请输入:");
}
public VipMember logIn(Scanner input){
System.out.println("请输入您的会员卡号:");
String accountNumber = input.next();
System.out.println("请输入您的会员卡密码:");
String password = input.next();
Iterator<VipMember> iterator = listMember.iterator();
while(iterator.hasNext()){
VipMember listMember =new VipMember();
listMember = iterator.next();
if(listMember.getAccountNumber().equals(accountNumber) && listMember.getPassword().equals(password)){
return listMember;
}
}
return null;
}
public void operate(Scanner input){
int isexist = 0;
do{
showInitialInterface();
switch(input.nextInt()) {
case 5:
System.out.println("请输入注册姓名:");
String name = input.next();
System.out.println("请输入注册密码:");
String password = input.next()+"";
Random random = new Random();
String accountNumber = random.nextInt(100000000 - 10000000) + 10000000 + "";
int point = 100;
listMember.add(new VipMember(name, accountNumber, password, point));
System.out.println("恭喜,开卡成功,赠送您100积分!您的会员卡号为:" + accountNumber);
break;
case 1:
VipMember vipMember1 = logIn(input);
VipMember vipMember = new VipMember();
vipMember = logIn(input);
if(vipMember != null){
System.out.println("请输入您此次消费的金额(消费1元累计1积分):");
double money = input.nextDouble();
vipMember.pointSum(money);
}else{
System.out.println("您的密码错误!");
}
break;
case 2:
vipMember = logIn(input);
if(vipMember != null){
System.out.println("请输入您需要兑换的积分(100积分抵用0.1元,不足100积分不做抵用):");
int exchangePoint = input.nextInt();
double money = vipMember.exchangeCaculate(exchangePoint);
System.out.println("您的消费金额中使用会员积分抵消"+money+"元");
System.out.println("积分兑换成功!");
}else{
System.out.println("您的密码错误!");
}
break;
case 3:
vipMember = logIn(input);
if(vipMember != null){
System.out.println("您的剩余积分为:"+vipMember.getPoint());
}else{
System.out.println("您的密码错误!");
}
break;
case 4:
vipMember = logIn(input);
if(vipMember != null){
System.out.println("请输入新的会员卡号:");
String newPassword = input.next();
vipMember.setPassword(newPassword);
System.out.println("密码修改成功!");
}else{
System.out.println("您的密码错误!");
}
break;
case 6:
System.out.println("感谢您的使用,欢迎下次使用");
isexist = 1;
}
}while(isexist == 0);
}
}
Test1.java:测试的主函数
package Test_vipSystem;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
VipSystem vipSystem = new VipSystem();
vipSystem.initial();
Scanner input = new Scanner(System.in);
vipSystem.operate(input);
}
}
|