📄 sscs.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class sscs extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
new sscs();
}
private Dimension tk=Toolkit.getDefaultToolkit().getScreenSize();
private JButton again=new JButton("新的题目");
private JButton confirm=new JButton("结果");
private int sum=0;
private JLabel[] labels=new JLabel[10];
private JTextField[] results=new JTextField[10];
private int a[]=new int[10];
private int b[]=new int[10];
private int style;
private int c[]=new int[10];
private Container ctn=new Container();
public sscs(){
super();
setSize(450,300);
setTitle("Java 加减运算测试器 ");
setLayout(new BorderLayout());
setLocation((tk.width-getWidth())/2,(tk.height-getHeight())/2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
inition(false);
}
public void inition(boolean flag){
for(int i=0;i<10;i++){
a[i]=(int)(Math.random()*100);
b[i]=(int)(Math.random()*100);
}
ctn.setLayout(new GridLayout(10,2));
if(flag==false){
for(int i=0;i<10;i++){
results[i]=new JTextField(3);
style=((int)(Math.random()*10))%2;
switch(style){
case 0:c[i]=a[i]-b[i];
if(c[i]>=0){
labels[i]=new JLabel(""+a[i]+"-"+b[i]+"=");
labels[i].setHorizontalAlignment(0);
}
else{
int temp=a[i];
a[i]=b[i];
b[i]=temp;
c[i]=a[i]-b[i];
labels[i]=new JLabel(""+a[i]+"-"+b[i]+"=",0);
}
break;
case 1:c[i]=a[i]+b[i];
if(c[i]<100){
labels[i]=new JLabel(""+a[i]+"+"+b[i]+"=");
labels[i].setHorizontalAlignment(0);
}
else{
if(a[i]>b[i]){
a[i]=a[i]-c[i]+99;
}
else{
b[i]=b[i]-c[i]+99;
}
c[i]=a[i]+b[i];
labels[i]=new JLabel(""+a[i]+"+"+b[i]+"=",0);
}
break;
default: break;
}
}
again.addActionListener(this);
getContentPane().add(again,BorderLayout.NORTH);
confirm.addActionListener(this);
getContentPane().add(confirm,BorderLayout.SOUTH);
for(int i=0;i<10;i++){
ctn.add(labels[i]);
ctn.add(results[i]);
}
getContentPane().add(ctn,BorderLayout.CENTER);
}
else{
for(int i=0;i<10;i++){
results[i].setEditable(true);
results[i].setText("");
style=((int)(Math.random()*10))%2;
switch(style){
case 0:c[i]=a[i]-b[i];
if(c[i]>=0){
labels[i].setText(""+a[i]+"-"+b[i]+"=");
}
else{
int temp=a[i];
a[i]=b[i];
b[i]=temp;
c[i]=a[i]-b[i];
labels[i].setText(""+a[i]+"-"+b[i]+"=");
}
break;
case 1:c[i]=a[i]+b[i];
if(c[i]<100){
labels[i].setText(""+a[i]+"+"+b[i]+"=");
}
else{
if(a[i]>b[i]){
a[i]=a[i]-c[i]+99;
}
else{
b[i]=b[i]-c[i]+99;
}
c[i]=a[i]+b[i];
labels[i].setText(""+a[i]+"+"+b[i]+"=");
}
break;
default: break;
}
}
}
validate();
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getSource()==again){
sum=0;
confirm.setVisible(true);
inition(true);
}
if(arg0.getSource()==confirm){
for(int i=0;i<10;i++){
try{
if(Integer.parseInt(results[i].getText())==c[i]){
sum++;
}
else{
results[i].setEditable(false);
results[i].setText(""+c[i]);
validate();
}
}
catch(Exception ex){
}
}
JOptionPane.showMessageDialog(null, "你答对了"+sum+"道题.\n" +
"答错了"+(10-sum)+"道题.\n"+"你所得分数为:"+10*sum);
sum=0;
confirm.setVisible(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -