复制
收藏
提问
简洁

用JAVA编写数字的英文单词显示程序,窗口中安排一个文本框 一个按钮 一个标签 输入1到9,显示相应胡英文要求能进行异常处理规范出现错误

4月前
全网
文档
学术
百科
知识库
时间不限
自动
回答
更专业一些

在Java中编写一个简单的图形用户界面(GUI)程序,用于将输入的数字(1到9)转换为对应的英文单词,并进行异常处理,可以使用Swing框架来创建窗口和组件。下面是一个简单的示例代码,它包含了一个文本框、一个按钮和一个标签,以及异常处理:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class NumberToWord extends JFrame {
    private JTextField numberField;
    private JButton convertButton;
    private JLabel resultLabel;

    public NumberToWord() {
        setTitle("Number to Word Converter");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 200);
        setLayout(new FlowLayout());

        numberField = new JTextField(10);
        convertButton = new JButton("Convert");
        resultLabel = new JLabel("Result will be here");

        add(numberField);
        add(convertButton);
        add(resultLabel);

        convertButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    String number = numberField.getText();
                    if (number == null || number.isEmpty()) {
                        throw new IllegalArgumentException("Input cannot be empty.");
                    }
                    int num = Integer.parseInt(number);
                    String word = convertNumberToWord(num);
                    resultLabel.setText("Result: " + word);
                } catch (NumberFormatException e) {
                    resultLabel.setText("Error: Invalid number format.");
                } catch (IllegalArgumentException e) {
                    resultLabel.setText("Error: " + e.getMessage());
                }
            }
        });

        setVisible(true);
    }

    private String convertNumberToWord(int num) {
        switch (num) {
            case 1:
                return "One";
            case 2:
                return "Two";
            case 3:
                return "Three";
            case 4:
                return "Four";
            case 5:
                return "Five";
            case 6:
                return "Six";
            case 7:
                return "Seven";
            case 8:
                return "Eight";
            case 9:
                return "Nine";
            default:
                throw new IllegalArgumentException("Number out of range (1-9)");
        }
    }

    public static void main(String[] args) {
        new NumberToWord();
    }
}

在这个程序中,我们定义了一个NumberToWord类,它继承自JFrame,用于创建主窗口。我们添加了一个文本框numberField供用户输入数字,一个按钮convertButton用于触发转换操作,以及一个标签resultLabel用于显示结果或错误信息。

convertButton的事件监听器中,我们尝试将文本框中的内容转换为整数,并根据输入的数字显示对应的英文单词。如果用户输入的不是数字或者数字不在1到9的范围内,我们会捕获NumberFormatExceptionIllegalArgumentException异常,并在resultLabel中显示错误信息。

这个程序遵循了异常处理的规范,如引用23所述,通过try-catch块捕获异常,并在方法签名中使用throws关键字声明可能抛出的异常。同时,根据引用7,我们处理了检查性异常(如IllegalArgumentException)和非检查性异常(如NumberFormatException)。程序中的异常处理逻辑也符合引用9中提到的异常处理规范。

推荐追问
Java数字转英文单词
Java异常处理方法
Java Swing文本框和按钮布局
Java中标签的使用方法
Java窗口编程基础
Java输入验证和错误提示
研究模式展开阅读更多资料、详细回答

更专业内容正在努力生成中

以上内容由AI搜集生成,仅供参考

在线客服