栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础练习0723:会员系统(含代码、改进点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础练习0723:会员系统(含代码、改进点

待改进


  • 业务逻辑更符合

  • 操作类中的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){

//floor(3.14) 结果是3.0是double 并不是整数类型

// setPoint(Math.floor(consumptionMoney));//出错? 不兼容的类型: 从double转换到int可能会有损失

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.*;

//String name, String accountNumber, String password, int point

public class VipSystem {

// public VipMember[] VipMembers = new VipMember[20];

public List 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();

// if(int j =0,j < listMember.size(),j++){

// }

Iterator iterator = listMember.iterator();

while(iterator.hasNext()){

//VipMember listMember = iterator.next();

VipMember listMember =new VipMember();

listMember = iterator.next();

if(listMember.getAccountNumber().equals(accountNumber) && listMember.getPassword().equals(password)){

return listMember;

}

}

return null; //返回空的VipMember类

}

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;

// VipMember vipMember1 = new VipMember(name, accountNumber, password, point);

// listMember.add(vipMember1);

// System.out.println(listMember.contains(vipMember1));

listMember.add(new VipMember(name, accountNumber, password, point)); //?为什么添加不进列表? 必须创建对象?不能new?

//>>匿名对象也可以添加进列表

// System.out.println(listMember.contains(new VipMember(name, accountNumber, password, point)));

//过程是:新建了一个和上面属性内容一样的VipMember类对象,存在这个对象,但这个新的没有存进去列表,列表找不到这个VipMember类对象,因此返回false

System.out.println(“恭喜,开卡成功,赠送您100积分!您的会员卡号为:” + accountNumber);

break;

case 1:

// new VipMember() = logIn(input) //出错?

VipMember vipMember1 = logIn(input);

VipMember vipMember = new VipMember();

//登录操作:账号密码验证成功返回一个列表中对应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);

//?上面case定义的vipMember,其他case可以用?

//>>可以用,时循环体中的内部变量

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:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592258.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号