134,689
社区成员




题目:七星彩是中国体育彩票的一种玩法,由中国国家体育总局体育彩票管理中心统一发行,2004年5月18日开始在全国联网统一销售。单注最高奖金500万元。到现在还在运行。
基本玩法是,从0~9数字中随机选一个,一共选7次,组成一个7位数。如果完全跟中奖号码一样,则中了一等奖。
实现:实现一个七星彩号码生成器。
创建一个类:SevenStar
使用 SevenStar 继承 JFrame 构建窗体
窗体主要有三部分组成:输入部分;显示部分;生成号码按钮
通过 Random 类的实例生成伪随机数流。
使用 nextInt 方法获取一个小于参数值的随机数
使用 Math 类的 pow 方法,获取一个10的7次方数
package question;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.GridLayout;
import java.util.Random;
/**
* @ClassName Question51
* @Description
* @Author keke
* @Time 2022/5/10 23:49
* @Version 1.0
*/
public class Question51 {
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException |
UnsupportedLookAndFeelException e) {
throw new RuntimeException(e);
}
EventQueue.invokeLater(SevenStar::new);
}
}
class SevenStar extends JFrame {
private static final long serialVersionUID = -5495698077878405699L;
private JPanel contentPanel;
private JTextField textField;
private JTextArea textArea;
public SevenStar() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPanel = new JPanel();
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPanel.setLayout(new BorderLayout(0, 0));
setContentPane(contentPanel);
setTitle("七星彩号码生成器");
setVisible(true);
JPanel panel = new JPanel();
contentPanel.add(panel, BorderLayout.NORTH);
panel.setLayout(new GridLayout(1, 2, 5, 5));
JLabel label = new JLabel("请输入号码组数:");
label.setFont(new Font("JetBrains Mono", Font.PLAIN, 18));
label.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label);
textField = new JTextField();
textField.setFont(new Font("JetBrains Mono", Font.PLAIN, 18));
panel.add(textField);
textField.setColumns(10);
JPanel buttonPanel = new JPanel();
contentPanel.add(buttonPanel, BorderLayout.SOUTH);
JButton button = new JButton("生成号码");
button.addActionListener(e -> {
int times = Integer.parseInt(textField.getText());
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < times; i++) {
String numberStr = "" + new Random().nextInt((int) Math.pow(10, 7));
while (numberStr.length() < 7) {
numberStr = "0" + numberStr;
}
stringBuilder.append(numberStr).append("\n");
}
textArea.setText(stringBuilder.toString());
});
button.setFont(new Font("JetBrains Mono", Font.PLAIN, 18));
buttonPanel.add(button);
JScrollPane scrollPane = new JScrollPane();
contentPanel.add(scrollPane, BorderLayout.CENTER);
textArea = new JTextArea();
textArea.setFont(new Font("JetBrains Mono", Font.PLAIN, 18));
scrollPane.setViewportView(textArea);
}
}