到此一游

时光如梭,本博客已有1万+访问量了。当然,这个数字将来会上升。如果你愿意加速这个过程,

inline int add(int x, int y) {
	x += y;
	return x >= md ? x - md : x;
}
inline void Add(int& x, int y) {
	x += y;
	if(x >= md) x -= md;
}
inline int sub(int x, int y) {
	x -= y;
	return x < 0 ? x + md : x;
}
inline int mul(int x, int y) {
	return (long long)x*y%md;
}
inline int qpow(int a, int x) {
	int ret = 1;
	while(x) {
		if(x&1) ret = mul(ret, a);
		a = mul(a, a);
		x >>= 1;
	}
	return ret;
}
inline int inv(int x) {
	return qpow(x, md-2);
}
好的,下面是一个Java成语接龙窗口程序的具体代码,基于Eclipse开发环境: ```java import java.awt.EventQueue; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.EmptyBorder; public class ChengYuJieLong extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; private JTextField textField; private JLabel lblNewLabel; private JLabel lblNewLabel_1; private JButton btnNewButton; private JLabel lblNewLabel_2; private List<String> idiomList = new ArrayList<String>(); // 成语列表 private String currentIdiom; // 当前成语 /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { ChengYuJieLong frame = new ChengYuJieLong(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public ChengYuJieLong() { // 初始化成语列表 initIdiomList(); // 随机选择当前成语 currentIdiom = getRandomIdiom(); // 初始化窗口 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); lblNewLabel = new JLabel("请输入一个成语:"); lblNewLabel.setBounds(10, 10, 150, 30); lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 16)); contentPane.add(lblNewLabel); textField = new JTextField(); textField.setBounds(160, 10, 200, 30); textField.setFont(new Font("宋体", Font.PLAIN, 16)); contentPane.add(textField); textField.setColumns(10); lblNewLabel_1 = new JLabel("当前成语:"); lblNewLabel_1.setBounds(10, 50, 150, 30); lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 16)); contentPane.add(lblNewLabel_1); lblNewLabel_2 = new JLabel(currentIdiom); lblNewLabel_2.setBounds(160, 50, 200, 30); lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 16)); contentPane.add(lblNewLabel_2); btnNewButton = new JButton("提交"); btnNewButton.setBounds(160, 90, 100, 30); btnNewButton.setFont(new Font("宋体", Font.PLAIN, 16)); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { String inputIdiom = textField.getText().trim(); if (inputIdiom.isEmpty()) { JOptionPane.showMessageDialog(null, "成语不能为空!"); } else if (!isValidIdiom(inputIdiom)) { JOptionPane.showMessageDialog(null, "不是有效的成语!"); } else if (!isValidNextIdiom(inputIdiom)) { JOptionPane.showMessageDialog(null, "不符合成语接龙规则!"); } else { // 成功接龙,更新当前成语 currentIdiom = inputIdiom; lblNewLabel_2.setText(currentIdiom); // 清空输入框 textField.setText(""); // 随机回答一个成语 String answerIdiom = getRandomIdiom(); JOptionPane.showMessageDialog(null, "回答:" + answerIdiom); currentIdiom = answerIdiom; lblNewLabel_2.setText(currentIdiom); } } }); contentPane.add(btnNewButton); } /** * 初始化成语列表 */ private void initIdiomList() { // TODO: 这里可以从文件或数据库中读取成语列表 idiomList.add("千军万马"); idiomList.add("万无一失"); idiomList.add("一寸光阴一寸金"); idiomList.add("金玉满堂"); idiomList.add("堂而皇之"); idiomList.add("之乎者也"); idiomList.add("也就是说"); idiomList.add("说曹操,曹操就到"); idiomList.add("到此一游"); idiomList.add("游戏人间"); } /** * 判断是否为有效的成语 */ private boolean isValidIdiom(String idiom) { // TODO: 这里可以使用字典或API进行判断 return idiomList.contains(idiom); } /** * 判断是否符合成语接龙规则 */ private boolean isValidNextIdiom(String idiom) { char lastChar = currentIdiom.charAt(currentIdiom.length() - 1); char firstChar = idiom.charAt(0); return lastChar == firstChar; } /** * 随机选择一个成语 */ private String getRandomIdiom() { Random rand = new Random(); int index = rand.nextInt(idiomList.size()); return idiomList.get(index); } } ``` 这个程序中,我们使用了Java Swing库来实现GUI界面,实现了一个简单的成语接龙游戏。需要注意的是,这个程序只是一个示例,功能比较简单,还有很多地方可以进行优化和改进。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值