我行我素shopping购物管理系统第一阶段(4)

来源:互联网 发布:开淘宝店卖什么好啊 编辑:程序博客网 时间:2024/05/22 08:23

1.使用数组存储会员信息

需求说明:定义系统的数据类Data,用于存储系统的数据信息,例如会员信息。会员的个人信息(会员号、生日和积分)都存储在数组中,定义3个数组分别存储会员信息。

实现思路:

(1)使用Eclipse创建数据类Data (2)声明Data类的3个数组成员变量custNo(存储会员号)、custBirth(存储生日)和custScore(存储会员积分)。每个数组中具有相同下标的数据代表同一个会员的信息,因此一一对应。 (3)定义Data类的成员方法initial(),用于对数组进行赋值。(4)数组的长度设定为100

/** * Data.java * 上机第8章:阶段1: 数据类 */public class Data {         /*会员信息*/      int[] custNo = new int[100];          //会员号      String[] custBirth = new String[100]; //会员生日      int[] custScore = new int[100];       //会员积分            public void initial(){      /*客户信息*/      custNo [0] = 1623;        //客户1          custBirth[0] = "06/26";      custScore[0] = 5000;            custNo [1] = 1545;        //客户2      custBirth[1] = "04/08";      custScore[1] = 2200;      }}


注:定义的数组长度为100,对于没有进行赋值的数组元素,系统给它一个默认值,对于int型数组,默认值是0,对于String类型的数组,数组元素默认值是null

2.扩展数据类,添加数组存储商品信息

(1)在上一阶段代码Data.java的基础上做 (2)添加两个数组类型的成员变量:goodsName(存储商品名称)和goodsPrice(存储商品价格) (3)扩展initial()方法,给据表给数组赋值

package com.wxws.sms;/** * Data.java 上机第8章:阶段2: 数据类 */public class Data {/* 商品信息 */String[] goodsName = new String[50]; // 商品名称double[] goodsPrice = new double[50]; // 商品价格/* 会员信息 */int[] custNo = new int[100]; // 会员号String[] custBirth = new String[100]; // 会员生日int[] custScore = new int[100]; // 会员积分public void initial() {/* 客户信息 */custNo[0] = 1623; // 客户1custBirth[0] = "06/26";custScore[0] = 5000;custNo[1] = 1545; // 客户2custBirth[1] = "04/08";custScore[1] = 2200;/* 商品信息 */goodsName[0] = "addidas运动鞋"; // 商品1goodsPrice[0] = 880;goodsName[1] = "addidasT恤"; // 商品2goodsPrice[1] = 420.78;goodsName[2] = "Nike运动鞋"; // 商品3goodsPrice[2] = 900;}}


3.实现添加会员信息功能(使用数组进行数据存储)

需求说明:

(1)实现客户管理类CustManagement (2)实现添加新会员功能:从控制台获取用户输入(会员号、生日和会员积分),并将录入的信息保存在数组的第一个空位

实现思路:

(1)创建客户管理类CustManagement (2)对数组进行处理之前,要完成数据加载,创建Data类的一个实例,并编写方法对它进行初始化 (3)编写添加新会员的方法add()

public void add(){//提示用户输入会员号、生日和积分//查询会员信息数组中第一个空位下标//一一对应向3个数组中该位置添加数组元素}


 

package com.wxws.sms;import java.util.Scanner;/** * CustManagement.java 第8章阶段3:客户管理类 */public class CustManagement {Data data = new Data(); // 创建一个数据类对象/** * 加载数据 */public void setData() {data.initial();}/** * 添加会员信息:阶段3 */public void add() {/* 添加会员信息 */System.out.println("\n");System.out.println("我行我素购物管理系统 > 客户信息管理 > 添加客户信息\n\n");Scanner input = new Scanner(System.in);System.out.print("请输入会员号(<4位整数>):");int no = input.nextInt();System.out.print("请输入会员生日(月/日<用两位数表示>):");String birth = input.next();System.out.print("请输入积分:");int score = input.nextInt();int index = -1; // 记录插入位置的下标for (int i = 0; i < data.custNo.length; i++) {if (data.custNo[i] == 0) { // 查找第一个空位(元素默认值为0)index = i; // 记录元素下标break;}}data.custNo[index] = no; // 添加会员号data.custBirth[index] = birth; // 添加会员生日data.custScore[index] = score; // 添加会员积分System.out.println("新会员添加成功!");}}


4.实现显示当前会员信息功能

需求说明:扩展客户管理类CustManagement

(1)实现显示"我行我素shopping"当前会员信息功能 (2)编写测试类进行测试

实现思路:

(1)在第3个阶段基础上做

(2)编写CustManagement类的show()方法,显示当前所有会员信息

public void show(){//循环输出数组中的元素信息,直到会员号为0时跳出循环。}


(3)编写测试类Test1.java,测试显示会员信息和添加会员信息功能

CustManagement cm = new CustManagement();cm.setData();//加载数据cm.show();//显示添加前客户信息cm.add();//增加客户信息cm.show();//显示添加后的客户信息


 

package com.wxws.sms;import java.util.Scanner;/** * CustManagement.java 第8章阶段3:客户管理类 */public class CustManagement {Data data = new Data(); // 创建一个数据类对象/** * 加载数据 */public void setData() {data.initial();}/** * 显示会员信息: 阶段4 */public void show() {/* 显示会员信息 */System.out.println("我行我素购物管理系统 > 客户信息管理 > 显示客户信息\n\n");System.out.println("  会员号            生日             积分      ");System.out.println("------------|------------|---------------");int length = data.custNo.length; // 获得数组长度for (int i = 0; i < length; i++) {// 循环输出会员信息if (data.custNo[i] == 0) {break; // 客户信息已经显示完毕,直接退出循环}System.out.println(data.custNo[i] + "\t\t" + data.custBirth[i] + "\t\t" + data.custScore[i]); // 显示输出}}/** * 添加会员信息:阶段3 */public void add() {/* 添加会员信息 */System.out.println("\n");System.out.println("我行我素购物管理系统 > 客户信息管理 > 添加客户信息\n\n");Scanner input = new Scanner(System.in);System.out.print("请输入会员号(<4位整数>):");int no = input.nextInt();System.out.print("请输入会员生日(月/日<用两位数表示>):");String birth = input.next();System.out.print("请输入积分:");int score = input.nextInt();int index = -1; // 记录插入位置的下标for (int i = 0; i < data.custNo.length; i++) {if (data.custNo[i] == 0) { // 查找第一个空位(元素默认值为0)index = i; // 记录元素下标break;}}data.custNo[index] = no; // 添加会员号data.custBirth[index] = birth; // 添加会员生日data.custScore[index] = score; // 添加会员积分System.out.println("新会员添加成功!");}}


 

package com.wxws.sms;/** * 上机第8章:阶段4:测试类-测试显示所有客户信息和添加新客户 */public class Test1 {public static void main(String[] args) {CustManagement cm = new CustManagement();cm.setData();// 加载数据cm.show(); // 显示客户信息cm.add(); // 添加客户信息cm.show(); // 显示客户信息}}


5.实现幸运大放送

需求说明:说明sendGoldenCust()方法执行的过程和实现的功能

package com.wxws.sms;import java.util.Scanner;/** * GiftManagement.java 上机第8章:阶段5:礼品管理类 */public class GiftManagement {Data data = new Data();/** * 加载数据 */public void setData() {data.initial();}/** * 幸运大放送 第8章阶段5阅读 */public void sendGoldenCust() {System.out.println("我行我素购物管理系统 > 幸运大放送\n\n");int index = 0;int max = data.custScore[0];/* 假定积分各不相同 */for (int i = 0; i < data.custScore.length; i++) {if (data.custScore[i] == 0) {break; // 数组后面为空用户}/* 求具有最大积分的客户 */if (data.custScore[i] > max) {max = data.custScore[i];index = i;}}System.out.println("具有最高积分的会员是: " + data.custNo[index] + "\t" + data.custBirth[index] + "\t" + data.custScore[index]);System.out.println("赠送苹果笔记本电脑一台!");}}


 

package com.wxws.sms;import com.wxws.sms.GiftManagement;/** * 上机第8章:阶段5:测试类-测试幸运大放送 */public class Test2 {public static void main(String[] args) {GiftManagement gm = new GiftManagement();gm.setData();gm.sendGoldenCust();}}


 

原创粉丝点击