⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sscs.java

📁 Java算术运算测试的源程序代码及其实现
💻 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 + -