1.计划

随机产生十道加减法,从键盘获得结果,与答案对比。

2.开发

suanshi.java

public class suanshi {
  //创建用以保存算式和结果的数组
  static String[] suanshi = new String[10];
  static int[] jieguo = new int[10];
  /**
  * 产生算式并将算是和结果保存到数组中
  */
  suanshi() {
    suanshi();
  }
  void suanshi() {
    for(int i=0;i<10;i++) {
      int a=(int) (Math.random()*100);
      int b=(int) (Math.random()*100);
      if(i<5) {
        suanshi[i]=a+"+"+b+"=";//将算式保存在数组中
        jieguo[i]=a+b;//将结果保存在数组中
      }else {
        if(a>b) {
          suanshi[i]=a+"-"+b+"=";
          jieguo[i]=a-b;
        }else {
          i--;
        }
      }
    }
  }
}

  

jiemain.java

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class jiemian {

  private static final ActionListener ActionListener = null;

  static void createAndShowGUI() {

    // 创建及设置窗口
    JFrame frame = new JFrame("算数题");
    frame.setSize(500, 400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //设置内容
    JPanel panel = new JPanel();
    frame.add(panel);
    placeComponents(panel);

    // 显示窗口
    frame.setVisible(true);
  }
/**
* 内容
* @param panel
*/
  static void placeComponents(JPanel panel) {

    suanshi j = new suanshi();
    panel.setLayout(null);
    for(int i=0; i<5;i++) {
      JLabel userLabel = new JLabel(i+1+"、 "+j.suanshi[i]);
      userLabel.setBounds(30,i*50,100,50);
      panel.add(userLabel);
    }
    for(int i=5; i<10;i++) {
      JLabel Label = new JLabel(i+1+"、 "+j.suanshi[i]);
      Label.setBounds(300,(i-5)*50,100,50);
      panel.add(Label);
    }
    JLabel Label1 = new JLabel();
    Label1.setBounds(150,300,300,50);
    Label1.setFont(new Font(null, Font.PLAIN, 20));
    panel.add(Label1);

    JTextField text1 = new JTextField(3);
    JTextField text2 = new JTextField(3);
    JTextField text3 = new JTextField(3);
    JTextField text4 = new JTextField(3);

    JTextField text5 = new JTextField(3);    JTextField text6 = new JTextField(3);

    JTextField text7 = new JTextField(3);
    JTextField text8 = new JTextField(3);
    JTextField text9 = new JTextField(3);
    JTextField text10 = new JTextField(3);

    text1.setBounds(100,15,100,20);
    text2.setBounds(100,65,100,20);
    text3.setBounds(100,115,100,20);
    text4.setBounds(100,165,100,20);
    text5.setBounds(100,215,100,20);
    text6.setBounds(365,15,100,20);
    text7.setBounds(365,65,100,20);
    text8.setBounds(365,115,100,20);
    text9.setBounds(365,165,100,20);
    text10.setBounds(370,215,100,20);

    panel.add(text1);
    panel.add(text2);
    panel.add(text3);
    panel.add(text4);
    panel.add(text5);
    panel.add(text6);
    panel.add(text7);
    panel.add(text8);
    panel.add(text9);
    panel.add(text10);

    JButton btn = new JButton("提交");
    btn.setBounds(200, 270, 80, 25);
    panel.add(btn);

    btn.addActionListener( new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String[] huida ={text1.getText(),text2.getText(),text3.getText(),text4.getText(),text5.getText(),text6.getText(),
            text7.getText(),text8.getText(),text9.getText(),text10.getText()};         List<String> list = new ArrayList<>();         for(int i=0;i<10;i++) {           if(huida[i].equals("")) {             list.add(Integer.toString(i+1));           }else {             try {               if(Integer.parseInt(huida[i])==j.jieguo[i]);               else {                 list.add(Integer.toString(i+1));               }             }catch(Exception e1){               list.add(Integer.toString(i+1));             }           }         }         int count = list.size();         if(count==0){           Label1.setText("恭喜你全对了");         }else {           String cuo="";           for(int i = 0; i < count; i++) {             if(cuo=="") {               cuo = cuo + list.get(i);             }else {               cuo = cuo +","+ list.get(i);             }           }           Label1.setText("第"+cuo+"题错误");         }       }     });   } }

text.java

public class text {
	public static void main(String[] args) {
		jiemian j=new jiemian();
		j.createAndShowGUI();     
	}
}

3.运行效果

posted on 2021-05-31 21:25  第三学习小组  阅读(101)  评论(0编辑  收藏  举报