作业2

一、开发环境:Eclipse

二、功能

  1. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
  2. 用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名 
  3. 程序可以出单个整数阶乘的题目:如:4!=24
  4. 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题

三、源代码

import java.util.*;
public class CeShi {
        public static void main(String[] args)  {
              int e,h,k;
              int m=0;
            Scanner in=new Scanner(System.in);
            String mz[]=new String[100];
            System.out.printf("请输入用户名:");
            mz[m]= in.nextLine();
            m++;
            System.out.printf("请输入题目个数:");
            h=in.nextInt();
            System.out.printf("是否需要阶乘:(1/0)");
            k=in.nextInt();
            if(k==0)
            {
            System.out.printf("是否需要乘除法:(1、0)");
            e=in.nextInt();
             JiShi timeController = new JiShi();
            
            YunSuan t =new YunSuan(e,h);    
            t.TiMu();
            t.MZ(mz, m);
            t.PanDuan();
            }
            else
            { 
                YunSuan t=new YunSuan(h,k);
                t.JC(h);
                t.PD();
            }
                
        }

}
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

@SuppressWarnings("unused")
public class JiShi extends JFrame implements ActionListener {

    private static final long serialVersionUID = 4603262282860990473L;

    private static final int DEFAULT_WIDTH = 200;
    private static final int DEFAULT_HEIGHT = 100;
    private static final int width = Toolkit.getDefaultToolkit()
            .getScreenSize().width;
    private static final int height = Toolkit.getDefaultToolkit()
            .getScreenSize().height;
    private Container container;
    private JButton btn;
    private JTextField jtfTime;
    private Timer tmr;

    public JiShi() {
        initComponents();
        Timer tmr = new Timer(1000, this);
        this.tmr = tmr;
        setVisible(true);
    }

    private void initComponents() {
        
        this.setTitle("SY秒表");

        this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        
        this.setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocation((width - DEFAULT_WIDTH) / 2,
                (height - DEFAULT_HEIGHT) / 2);
        
        jtfTime = new JTextField("100");

        btn = new JButton("开始倒计时");
        
        container = getContentPane();

        JPanel panel = new JPanel();
        panel.add(btn);
        panel.add(jtfTime);

        this.add(panel);
        btn.addActionListener(this);
    }

    public void actionPerformed(ActionEvent ae) {

        if (ae.getSource() == btn) {
            jtfTime.setText("100");
            tmr.start();
        } else {
            int t;
            t = Integer.parseInt(jtfTime.getText());
            t--;
            jtfTime.setText("" + t);

            if (t <= 0) {
                tmr.stop();
            }
        }
    }



}
import java.util.*;
import java.math.*;
public class YunSuan { 
      Scanner in=new Scanner(System.in);
      int a,b,c,d,e,f,i,h,j,p,q,m;
      String mz[]=new String[100];
      int daan[]=new int[10];
      int shuzi[]=new int[10];
      Random t=new Random();
      YunSuan(int e,int h){
          this.e=e;
          this.h=h;
          f=0;
      }
      public void MZ(String mz[],int m){
          this.m=m;
          this.mz[m]=mz[m]; 
            System.out.printf("mz[m]");          
      }
      public void TiMu()
    {
          for(int i=0;i<h;i++)
        {        
        a=t.nextInt(100)+1;
        b=t.nextInt(100)+1;
        c=t.nextInt(100)+1;
        d=t.nextInt(100)%4;
        if(e==1)
        {
                if(d==1 ||d==0){
                 System.out.printf("
"+"%d"+"+"+"%d"+"*"+"%d"+"=",a,b,c);
                 shuzi[i]=in.nextInt();
                 daan[i]=a+b*d;}
                else if(d==2){
                 System.out.printf("
"+"%d"+"+"+"%d"+"/"+"%d"+"=",a,b,c);
                 shuzi[i]=in.nextInt();
                 daan[i]=a-b*d;}
                else if(d==3){
                 System.out.printf("
"+"%d"+"-"+"%d"+"*"+"%d"+"=",a,b,c);
                 shuzi[i]=in.nextInt();
                 daan[i]=a+b/d;}
                else if(d==4){
                 System.out.printf("
"+"%d"+"-"+"%d"+""+"%d"+"=",a,b,c);
                 shuzi[i]=in.nextInt();
                 daan[i]=a-b/d;}
       }
        else{
                    if(d==1||d==2){
                        System.out.printf("
"+"%d"+"+"+"%d"+"=",a,b);
                        shuzi[i]=in.nextInt();
                        daan[i]=a+b;}
                    else{ 
                           System.out.printf("
"+"%d"+"-"+"%d"+"=",a,b);
                        shuzi[i]=in.nextInt();
                        daan[i]=a-b;}                
          }
        }
    }
           public void PanDuan()
        {
         for(int i=0;i<h;i++)
         {
             if(shuzi[i]==daan[i]){
                 p++;
                 f++;
                 System.out.printf("
"+"恭喜你答对第%d题",i+1);
                 }
             else {
                 q++;
                 System.out.printf("
"+"对不起,你答错了第%d题",i+1);}
         }
         System.out.printf("
"+"你答对了%d题",p);    
         System.out.printf("
"+"你答错了%d题",q);    
                 System.out.println("
"+"你的得分为:"+f);    
        }
           
           public void JC(int h)
           {
               this.h=h;
               for(j=0;j<h;j++)
               {
               a=t.nextInt(10)+1;
               System.out.printf("%d"+"!"+"=",a);
               for(i=1;i<=a;i++)
                   shuzi[j]=1*i;
               daan[j]=in.nextInt();}
               }
           public void PD()
           {
               for(int i=0;i<h;i++)
               {
                   if(shuzi[i]==daan[i]){
                       p++;
                       f++;
                       System.out.printf("
"+"恭喜你答对第%d题",i+1);
                       }
                   else {
                       q++;
                       System.out.printf("
"+"对不起,你答错了第%d题",i+1);}
               }
               System.out.printf("
"+"你答对了%d题",p);    
               System.out.printf("
"+"你答错了%d题",q);    
                       System.out.println("
"+"你的得分为:"+f);    
               
           }
}

四、结果

 

五、结对同伴的学号姓名以及同伴的博客地址

201306114447 黄杰 http://www.cnblogs.com/hj1994/
201306114448 练丽云 http://www.cnblogs.com/Lianliyun

六、这个结对编程过程中,你做了什么,同伴做了什么?

    这次编程,我负责1.2功能的实现,同伴负责3.4功能的实现。而界面还没完善,稍后一起完成。

七、总结这次结对编程的收获到和感悟。没发代码的同学也要写总结博客。

     这次结对发现两个人一起工作,比较容易发现对方的错误,这是一个人所做不到的。而且每个人负责一伴的模块有利于进度的推进,这也是想不到的。两节课基本搞定功能,不过界面不行。

六、附上结对工作时的照片

原文地址:https://www.cnblogs.com/hj1994/p/4408987.html