1、十/二进制相互转换
提示:文本框中敲回车会触发动作事件。
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main {
public static void main(String[] args) {
new Fr();
}
}
class Fr extends JFrame implements ActionListener { // 容器实现监听接口
JTextField er = new JTextField(10); //文本框 (全局变量
JTextField shi = new JTextField(10); //文本框 (全局变量
Fr() {
super("进制转换");
this.setLayout(new FlowLayout()); // 设置窗口布局
JPanel jp1 = new JPanel();
jp1.add(new JLabel("二进制数")); // 添加标签元素
jp1.add(er);
JPanel jp2 = new JPanel();
jp2.add(new JLabel("十进制数")); // 添加标签元素
jp2.add(shi);
add(jp1);
add(jp2);
er.addActionListener(this); // er注册监听器,容器作为监听器
shi.addActionListener(this); // shi注册监听器,容器作为监听器
this.setVisible(true); // 设置窗口可见(默认不可见)
this.setSize(300, 150); // 设置窗口大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭行为为退出(默认隐藏)
}
public void actionPerformed(ActionEvent e) { // 监听接口方法用于事件处理
try {
if (e.getSource() == er) {
int a = Integer.parseInt(er.getText(), 2);
shi.setText(a + "");
}
} catch (Exception e1) {
shi.setText("format error");
}
try {
if (e.getSource() == shi) {
String b = Integer.toString(Integer.parseInt(shi.getText()), 2);
er.setText(b + "");
}
} catch (Exception e2) {
er.setText("format error");
}
}
}
2、猜数程序
随机产生一个0-200间的整数让用户去猜,每猜一次,程序给出数偏大或偏小的提示,直到用户猜中。
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Main {
public static void main(String[] args) {
new Fr();
}
}
class Fr extends JFrame implements ActionListener { // 容器实现监听接口
int num = (int) (Math.random() * 201); // int强制转换 生成一个0~200的随机整数
int sum = 0;
JTextField guess = new JTextField(15); // 文本框 (全局变量
JLabel jl = new JLabel(); //标签 (全局变量
Fr() {
super();
this.setTitle("Guesses");
this.setLayout(new FlowLayout()); // 设置窗口布局
this.add(new JLabel("A num between 0 and 200 is generated,please guess it")); // 添加标签元素
this.add(guess);
this.add(jl);
guess.addActionListener(this); // guess注册监听器,容器作为监听器
this.setVisible(true); // 设置窗口可见(