Java 汇率转换器代码注释详解
// 导入java.awt包 import java.awt.; // 导入java.awt.event包 import java.awt.event.; // 导入java.math.BigDecimal包 import java.math.BigDecimal;
// 定义一个名为MyClass的类 public class MyClass { // 定义main方法 public static void main(String[] args){ // 创建MyFrame对象并调用Run方法 new MyFrame('汇率转换').Run(); } }
// 定义一个名为MyFrame的类,继承Frame类
class MyFrame extends Frame{
// 定义两个TextField对象
TextField num1,num2;
// 构造方法,接收一个字符串并调用父类构造方法
public MyFrame(String s) {
super(s);
}
// 定义Run方法
public void Run(){
// 创建两个TextField对象
num1=new TextField(15);
num2=new TextField(15);
// 设置num2不可编辑
num2.setEditable(false);
// 创建两个Label对象
Label lb1=new Label('人民币(元)');
Label lb2=new Label('美元($)');
// 创建一个Button对象
Button button=new Button('汇率转换为');
// 添加ActionListener监听器
button.addActionListener(new Listener());
// 添加WindowListener监听器
this.addWindowListener(new MywindowClosing() );
// 设置布局管理器为FlowLayout
setLayout(new FlowLayout());
// 设置背景颜色为红色
setBackground(Color.red);
// 设置窗口大小为200x200
setSize(200,200);
// 设置窗口位置为(400,300)
setLocation(400,300);
// 添加组件
add(lb1);
add(num1);
add(button);
add(num2);
add(lb2);
// 设置窗口可见性
setVisible(true);
}
// 定义一个名为Listener的内部类,实现ActionListener接口
public class Listener implements ActionListener{
// 实现actionPerformed方法
public void actionPerformed(ActionEvent e)
{
// 获取num1中的文本并转换为double类型
double n1 = Double.parseDouble(num1.getText());
// 计算汇率转换后的值
double ans=(double)(n1*100.00/667.28);
// 创建BigDecimal对象
BigDecimal b = new BigDecimal(ans);
// 调用setScale方法设置小数位数和取舍方式,并转换为double类型
double ans2 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
// 将转换后的值显示在num2中
num2.setText('' + ans2);
}
}
// 定义一个名为MywindowClosing的内部类,继承WindowAdapter类
class MywindowClosing extends WindowAdapter
{
// 实现windowClosing方法
public void windowClosing(WindowEvent e) {
// 设置窗口不可见
setVisible(false);
// 退出程序
System.exit(0);
}
}
}
原文地址: https://www.cveoy.top/t/topic/ouLI 著作权归作者所有。请勿转载和采集!