如何记录客户信息

12 浏览
0 Comments

如何记录客户信息

我目前正在开发一个基本功能,用于从txt文件中删除特定客户的条目,目前我编写的代码只能搜索客户的姓名并仅删除姓名。如何更改代码,以便从txt文件中删除所有客户的信息,而不仅仅是他们的姓名?

txt文件中的客户数据格式如下:

Dave Ted
10 Roberts Drive
12345
1000
B&Q £23.72, Úber £13.50, Eleanor Humphries £78.21
Mike Valencia
9 Farrels Way
56789
100
Cineworld £20.00, TGI £39.30, RadioShack £60.19

代码中的方法:

public static void removeCus() throws IOException {
    Scanner stdin = new Scanner(System.in);
    String name, address, id, balance, transactions, record;
    File inputFile = new File("text_files/customers.txt");
    File tempFile = new File("text_files/tempFile.txt");
    BufferedReader br = new BufferedReader(new FileReader(inputFile));
    BufferedWriter bw = new BufferedWriter(new FileWriter(tempFile));
    System.out.println("请输入客户姓名:");
    name = stdin.nextLine();
    while ((record = br.readLine()) != null) {
        if (record.contains(name))
            continue;
        bw.write(record);
        bw.flush();
        bw.newLine();
    }
    br.close();
    bw.close();
    inputFile.delete();
    tempFile.renameTo(inputFile);
    boolean successful = tempFile.renameTo(inputFile);
}

0
0 Comments

在上述代码中,存在一个问题:如何记录客户信息。这个问题的出现原因是在代码中没有明确的记录和保存客户信息的方法。为了解决这个问题,可以采取以下步骤:

1. 创建一个用于存储客户信息的数据结构,比如一个集合或者数据库表格。

2. 在代码中添加一个用于接收客户信息的变量,比如一个字符串或者一个自定义的客户对象。

3. 在循环中,当找到包含客户姓名的记录时,将该记录的下一行开始的4行忽略,不进行处理。

4. 当不是忽略的记录时,将其保存到客户信息的数据结构中。

5. 最后,可以将客户信息输出到文件或者进行其他处理。

下面是修改后的代码示例:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CustomerInformationRecorder {
    public static void main(String[] args) {
        String name = "John"; // 举例一个客户姓名
        try (BufferedReader br = new BufferedReader(new FileReader("input.txt"));
             BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
            String record;
            boolean ignoreNextLines = false;
            while ((record = br.readLine()) != null) {
                if (record.contains(name)) {
                    ignoreNextLines = true; // 忽略下面的4行
                    continue;
                }
                if (ignoreNextLines) {
                    ignoreNextLines = false;
                    continue;
                }
                bw.write(record);
                bw.flush();
                bw.newLine();
            }
            System.out.println("Customer information has been recorded successfully.");
        } catch (IOException e) {
            System.out.println("An error occurred while recording customer information: " + e.getMessage());
        }
    }
}

通过以上修改,我们成功解决了如何记录客户信息的问题。现在,代码会将除了包含指定客户姓名的记录以外的所有记录保存到输出文件中,从而实现了客户信息的记录。

0