2021.10.23,内容:customerList的设计

package com.charles.p1.service;

import com.charles.p1.bean.Customer;

/**
 * 
 * @Description CustomerList为Customer对象的管理模块,
 *              内部用数组管理一组Customer对象,并提供相应的添加、修改、删除和遍历方法, 供CustomerView调用
 * @author Charles
 * @version
 * @date 2021年10月21日下午13:21:50
 *
 */
public class CustomerList {
	private Customer[] customers;// 用来保存客户对象的数组
	private int total = 0;// 记录已保存客户对象的数量

	/**
	 * 用来初始化customer数组的构造器
	 * 
	 * @param totalCustomer:指定数组的长度
	 */
	public CustomerList(int totalCustomer) {
		customers = new Customer[totalCustomer];
	}

	/**
	 * @Description 将指定的客户添加到数组中
	 * @param customer
	 * @return true:添加成功,false:添加失败
	 */

	public boolean addCustomer(Customer customer) {
		if (total >= customers.length) {
			return false;
		}

		// customers[total] = customer;
		// total++
		// 或
		customers[total++] = customer;
		return true;
	}

	/**
	 * @Description 修改指定索引位置的客户信息
	 * @param index
	 * @param cust
	 * @return true:修改成功 false:修改失败
	 */
	public boolean replaceCustomer(int index, Customer cust) {

		if (index < 0 || index >= total) {
			return false;
		}

		customers[index] = cust;
		return true;
	}

	/**
	 * 删除指定索引位置上的客户
	 * 
	 * @return true:删除成功 false:删除失败
	 */

	public boolean deleteCustomer(int index) {
		if (index < 0 || index >= total) {
			return false;
		}
		for (int i = index; i < total - 1; i++) {
			customers[i] = customers[i + 1];
		}

		// 最后有数据元素需要置空
		customers[total - 1] = null;
		total--;
		return true;
	}

	/**
	 * @Description 获取所有的客户信息
	 * @return
	 */
	public Customer[] getAllCustomers() {
		Customer[] custs = new Customer[total];
		for (int i = 0; i < total; i++) {
			custs[i] = customers[i];
		}
		return custs;
	}

	/**
	 * @Description 获取指定索引位置上的客户
	 * @param index
	 * @return 如果找到了元素,则返回;如果没找到,则返回null
	 */
	public Customer getCustomer(int index) {
		if (index < 0 || index >= total) {
			return null;
		}

		return customers[index];
	}

	/**
	 * @Description 获取存储的客户的数量
	 * @return
	 */
	public int getTotal() {
		return total;
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
String Gname=inputGname.getText(); // 顾客姓名 String Gage=inputGage.getText(); //顾客年龄 String Gphonenumber=inputGphonenumber.getText(); //顾客手机号 String Gsex=inputGsex.getText(); //顾客性别 String Gadr=inputGadr.getText(); //顾客地址 String Gsize=inputGsize.getText(); //顾客房间大小 if (Gname.isEmpty() || Gage.isEmpty() || Gphonenumber.isEmpty() || Gsex.isEmpty() || Gadr.isEmpty()||Gsize.isEmpty()) { return; // 如果有任何一个字段为空,不做处理 } else { int age = Integer.parseInt(Gage); int phonenumber=Integer.parseInt(Gphonenumber); Guke guke = new Guke(Gname, age, phonenumber, Gsex, Gadr, Gsize); customerList.add(guke); customerNames.add(Gname); FileWriter filee = null; try { filee = new FileWriter("D:/info.txt",true); } catch (IOException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } for (Guke Guke : customerList) { try { filee.write(guke.toString()+"\r\n"); // 将新的用户信息保存到文件,并换行 } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //通过Guke的toString 将所有信息存入文件 } try { filee.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } inputGname.setText(""); inputGage.setText(""); inputGphonenumber.setText(""); inputGsex.setText(""); inputGadr.setText(""); inputGsize.setText(""); //将文本输入框清空 customerList.clear(); //将Arraylist清空 根据这个写出相对应的读取操作
05-29
好的,根据你提供的代码,我可以写出相应的读取操作。 首先,我们需要读取保存顾客信息的文件,即 "D:/info.txt"。可以使用Java中的FileReader和BufferedReader来完成这个操作。代码如下: ```java try { FileReader fileReader = new FileReader("D:/info.txt"); BufferedReader bufferedReader = new BufferedReader(fileReader); String line; while ((line = bufferedReader.readLine()) != null) { // 对每一行进行处理 // ... } bufferedReader.close(); fileReader.close(); } catch (IOException e) { e.printStackTrace(); } ``` 在读取每一行之后,我们需要对每一行的信息进行处理。可以使用String的split方法将每一行的信息拆分成对应的字段。代码如下: ```java String[] fields = line.split(","); String name = fields[0]; int age = Integer.parseInt(fields[1]); int phoneNumber = Integer.parseInt(fields[2]); String sex = fields[3]; String adr = fields[4]; String size = fields[5]; Guke guke = new Guke(name, age, phoneNumber, sex, adr, size); customerList.add(guke); customerNames.add(name); ``` 最后,我们需要在读取完文件之后对相应的文本框进行赋值。代码如下: ```java inputGname.setText(""); inputGage.setText(""); inputGphonenumber.setText(""); inputGsex.setText(""); inputGadr.setText(""); inputGsize.setText(""); for (Guke guke : customerList) { // 对每一个顾客信息进行处理 // ... } customerList.clear(); // 将ArrayList清空 ``` 这样,我们就完成了读取操作。完整代码如下: ```java try { FileReader fileReader = new FileReader("D:/info.txt"); BufferedReader bufferedReader = new BufferedReader(fileReader); String line; while ((line = bufferedReader.readLine()) != null) { String[] fields = line.split(","); String name = fields[0]; int age = Integer.parseInt(fields[1]); int phoneNumber = Integer.parseInt(fields[2]); String sex = fields[3]; String adr = fields[4]; String size = fields[5]; Guke guke = new Guke(name, age, phoneNumber, sex, adr, size); customerList.add(guke); customerNames.add(name); } bufferedReader.close(); fileReader.close(); inputGname.setText(""); inputGage.setText(""); inputGphonenumber.setText(""); inputGsex.setText(""); inputGadr.setText(""); inputGsize.setText(""); for (Guke guke : customerList) { // 对每一个顾客信息进行处理 // ... } customerList.clear(); } catch (IOException e) { e.printStackTrace(); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值