关于抽取号码并记录的程序

要求启动开始后能随机抽取存在文本文件中的若干个观众手机号码,显示时隐藏最后两位号码,并将获奖主题、获奖等级和获奖名单、手机号、获奖时间等保存在另一个获奖的文本文件中,并可查询历史抽奖情况。
请问在已经实现部分功能的代码的基础上,如何实现记录获奖时间并保存抽奖记录于文本文件的功能

import javax.swing.;
import java.awt.;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Random;
import java.util.Vector;
public class Luckymode extends JFrame implements Runnable {
/**

  • 文本”设置获奖人数:“

  • /
    JLabel numLabel, prizeLabel;
    JComboBox numBox, prizeBox;
    JButton startBtn, endBtn;
    int number = 4;
    boolean IS_RUNNING = false;
    int i;
    String FILE_PATH = "D:/information.txt";
    JTextField[] phoneList = new JTextField[10];
    Vector vector = new Vector<>();
    Luckymode(String s) {
    super(s);
    initComponents();
    }
    public void initComponents() {
    Container jtogether = getContentPane();
    JPanel jup = new JPanel();
    jup.setLayout(new FlowLayout());
    prizeLabel = new JLabel("奖项:");
    String[] prizes = {"一等奖", "二等奖", "三等奖"};
    numLabel = new JLabel("人数:");
    String[] nums = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
    prizeBox = new JComboBox(prizes);
    prizeBox.setSelectedIndex(2);
    prizeBox.addActionListener(e -> {
    IS_RUNNING = false;
    startBtn.setEnabled(true);
    endBtn.setEnabled(false);
    for (i = 0; i < 10; i++) {
    phoneList[i].setText("");
    }
    });
    numBox = new JComboBox(nums);
    numBox.setSelectedIndex(4);
    numBox.addActionListener(e -> {
    if (e.getSource() == numBox) {
    IS_RUNNING = false;
    startBtn.setEnabled(true);
    endBtn.setEnabled(false);
    number = numBox.getSelectedIndex();
    for (i = 0; i < 10; i++) {
    phoneList[i].setEditable(i <= number);
    phoneList[i].setText("");
    }
    }
    });
    jup.add(prizeLabel);
    jup.add(prizeBox);
    jup.add(numLabel);
    jup.add(numBox);

    JPanel jtemp = new JPanel();
    jtemp.setLayout(new BorderLayout());
    JPanel j1 = new JPanel();
    j1.add(new JLabel(" "));
    JPanel j2 = new JPanel();
    j2.add(new JLabel(" "));
    JPanel jcenter = new JPanel();
    jcenter.setLayout(new GridLayout(10, 1, 20, 0));
    for (i = 0; i < 10; i++)
    {

       phoneList[i] = new JTextField("");
       phoneList[i].setHorizontalAlignment(JTextField.CENTER);
       jcenter.add(phoneList[i]);
       phoneList[i].setEditable(i <= number);
    

    }
    jtemp.add("Center", jcenter);
    jtemp.add("West", j1);
    jtemp.add("East", j2);
    JPanel jdown = new JPanel();
    jdown.setLayout(new FlowLayout());
    startBtn = new JButton("开始");
    endBtn = new JButton("结束");
    startBtn.addActionListener(e ->
    {

       IS_RUNNING = true;
       startBtn.setEnabled(false);
       endBtn.setEnabled(true);
    

    });
    endBtn.addActionListener(e -> {

       IS_RUNNING = false;
       startBtn.setEnabled(true);
       endBtn.setEnabled(false);
    

    });
    endBtn.setEnabled(false);
    jdown.add(startBtn);
    jdown.add(endBtn);
    jtogether.setLayout(new BorderLayout());
    jtogether.add("North", jup);
    jtogether.add("Center", jtemp);
    jtogether.add("South", jdown);
    textinfile();
    setVisible(true);
    }
    public String texthand(String a) {
    //将从文件读入的数据处理
    return a.replaceAll("(\d{3,3}).{4,4}(\d{4,4})", "$1****$2");
    }
    public void textinfile() {
    //将文件中手机号码信息读入vector
    try (FileReader f = new FileReader(FILE_PATH); BufferedReader br = new BufferedReader(f)) {

       String strline = br.readLine();
       while (strline != null) {
           vector.add(texthand(strline));
           strline = br.readLine();
       }
    

    } catch (IOException e) {

       System.err.printf("文件不存在%s%n", e.getMessage());
    

    }
    }
    public void run() { //线程运行
    Random random = new Random();
    while (true) {

       try {
           Thread.sleep((long) ((Math.random() * 100) + 50));
       } catch (Exception e) {
           e.printStackTrace();
       }
       System.out.printf("is_running:%s%n", IS_RUNNING);
       if (IS_RUNNING) {
           int index;
           for (i = 0; i <= number; i++) {
               if (vector.size() > 0) {
                   // 在phoneList[i]中随机显示手机号码
                   index = random.nextInt(vector.size() - 1);
                   System.out.printf("update %d %s%n", index, vector.get(index));
                   phoneList[i].setText(vector.get(index));
               } else {
                   phoneList[i].setText("无");
               }
           }
       }
    

    }
    }
    public static void main(String[] args) {
    Luckymode luck = new Luckymode("幸运号码抽取");
    luck.setSize(300, 450);
    luck.setLocation(800, 300);
    luck.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    new Thread(luck).start();
    }

你都实现了能够获取到中奖的号码了再保存在文本文件中就好了啊。

在写入文件的那一部分直接获取时间,然后保存,难度不大

中奖后,获取当前时间,然后写入文件就好了。

是保存到原有文件,还是保存到一个新的文件呢?

中奖5个就获取5个当前时间,写入文件中,再依次给中奖号码配对

抽取中奖后记录时间写入文件

你是不是提了两个一样的,哈哈,今天我在另一个回答了,你可以看看