⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch8_e8_24.java

📁 代码包括《Java语言与面向对象程序设计题解与实验指导》一书中 “习题解答”部分的所有程序的Java源代码和编译后生成的字节码或相应的HTML文件。 盘中的目录与书中的章节一致。
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*; 
import java.io.*;

public class ch8_e8_24 
{
    public static void main(String args[])
    {
        new GetDataStoreInFileFrame();
    }
}

class GetDataStoreInFileFrame extends Frame implements ActionListener
{
    final int NUMBER = 5;
    final String DOUBLE_INPUT_PROMPT_PREFIX = "      请输入第";
    final String DOUBLE_INPUT_PROMPT_SUFFIX = "个浮点数:";
    final String FILE_NAME_INPUT_PROMPT = "请输入保存数据的文件名:";
    double dataArray[] = new double[NUMBER];
    TextField inputTfd = new TextField(10);
    Label promptLbl = new Label(FILE_NAME_INPUT_PROMPT);
    int inputedData = 0;
    
    GetDataStoreInFileFrame()
    {
        super("输入数据");
        promptLbl.setText(DOUBLE_INPUT_PROMPT_PREFIX
            + "1" + DOUBLE_INPUT_PROMPT_SUFFIX);
        inputTfd.addActionListener(this);
        setLayout(new FlowLayout());
        add(promptLbl);
        add(inputTfd);
        addWindowListener(new winClose());
        setSize(300,200);
        setVisible(true);
    }
    
    public void actionPerformed(ActionEvent ae)
    {
        try
        {
            if(ae.getSource() == inputTfd)
            {
                if(inputedData < NUMBER)
                {
                    dataArray[inputedData] = Double.parseDouble(
                        inputTfd.getText());
                    inputTfd.setText("");
                    if(inputedData == NUMBER-1)
                        promptLbl.setText(FILE_NAME_INPUT_PROMPT);
                    else
                        promptLbl.setText(DOUBLE_INPUT_PROMPT_PREFIX
                            + (inputedData+2) + DOUBLE_INPUT_PROMPT_SUFFIX);
                    inputedData++;
                }
                else
                {
                    File dataFile = new File(inputTfd.getText().trim());
                    FileWriter fw = new FileWriter(dataFile);
                    for(int i=0; i<NUMBER; i++)
                    {
                        String str = Double.toString(dataArray[i]);
                        fw.write(str,0,str.length());
                        fw.write('\n');
                    }
                    fw.close();
                    inputTfd.setEnabled(false);
                    promptLbl.setText("数据已经保存在文件中");
                }
            }
        }
        catch(NumberFormatException nfe)
        {
        }
        catch(IOException ioe)
        {
        }
    }
}

class winClose extends WindowAdapter
{
    public void windowClosing(WindowEvent we)
    {
        we.getWindow().dispose();
        System.exit(0);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -