• 作业2结对子


    1.摘要:

    一、从第一次作业出发,将程序改装成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:

          1)生成题目,单个题目最多不能超过4个运算符,操作数小于100。

          2)用户可以输入答案若用户输入答案正确,则提示正确;

          3)若答案错误,则提示错误,并要提示正确答案是多少?

    2.5个方向:

          1)用户登入;

          2)用户答题结束以后,程序可以显示用户答题所用的时间;

          3)程序可以出单个整数阶乘的题目

          4)用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数;

          5)程序可以设置皮肤功能,可以改变界面的颜色即可;

    3.结对同伴的学号姓名以及同伴的博客地址。 

       47黄杰:http://www.cnblogs.com/hj1994/

       48练丽云:http://www.cnblogs.com/Lianliyun/

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

       我:界面,监听,显示用户答题所用的时间设置皮肤功能,单个整数阶乘的题目;

       黄杰:用户登入用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

    5总结这次结对编程的收获到和感悟。

       结对子比较强调团队作用,和加强配合沟通的能力。除了要分工好,还要求把大家的代码整理到一个java文件上。通过这次结对子我明白的团队合作的强大性和艰巨性!

    6.源代码:

    import java.util.*;
    import java.util.Random;
    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;
          
          Long startTime = System.nanoTime();
          Long endTime = System.nanoTime();
          String mz[]=new String[100];
          int daan[]=new int[10];
          int shuzi[]=new int[10];
          Random t=new Random();
           long Totletime=(endTime-startTime);
          YunSuan(int e,int h){
              this.e=e;
              this.h=h;
              f=0;
          }
          public YunSuan() {
            // TODO 自动生成的构造函数存根
        }
        public void MZ(String mz[],int m){
              this.m=m;
              this.mz[m]=mz[m];
                             
          }
          public void TiMu(int h,int e)
        {
              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("\n"+"%d"+"+"+"%d"+"*"+"%d"+"=",a,b,c);
                     shuzi[i]=in.nextInt();
                     daan[i]=a+b*d;}
                    else if(d==2){
                     System.out.printf("\n"+"%d"+"+"+"%d"+"/"+"%d"+"=",a,b,c);
                     shuzi[i]=in.nextInt();
                     daan[i]=a-b*d;}
                    else if(d==3){
                     System.out.printf("\n"+"%d"+"-"+"%d"+"*"+"%d"+"=",a,b,c);
                     shuzi[i]=in.nextInt();
                     daan[i]=a+b/d;}
                    else if(d==4){
                     System.out.printf("\n"+"%d"+"-"+"%d"+""+"%d"+"=",a,b,c);
                     shuzi[i]=in.nextInt();
                     daan[i]=a-b/d;}
           }
           else if(e==2){
                
                System.out.printf("\n"+"%d"+"!"+"=",a);
                  shuzi[i]=in.nextInt();
                  daan[0]=0;
                
                    daan[i]+=daan[i]*i;
           }
                
            else{
                        if(d==1||d==2){
                            System.out.printf("\n"+"%d"+"+"+"%d"+"=",a,b);
                            shuzi[i]=in.nextInt();
                            daan[i]=a+b;}
                        else{
                               System.out.printf("\n"+"%d"+"-"+"%d"+"=",a,b);
                            shuzi[i]=in.nextInt();
                            daan[i]=a-b;}               
              }
            }
        }
               public void PanDuan()
            {
             for(int i=0;i<h;i++)
             {
                 if(daan[i]==shuzi[i]){
                     p++;
                     f=f+10;
                     System.out.printf("\n"+"恭喜你答对第%d题",i+1);
                     }
                 else {
                     q++;
                     System.out.printf("\n"+"对不起,你答错了第%d题",i+1);
                     System.out.printf("\n"+"正确答案是:"+"%d",shuzi[i]);
                     }
             }
             System.out.printf("\n"+"你答对了%d题",p);    
             System.out.printf("\n"+"你答错了%d题",q);    
                     System.out.println("\n"+"你的得分为:"+f);    
                     System.out.println("\n"+"所用时间:"+Totletime);    
            }
               public String getp() {  
                    return String.valueOf(p);
                    }
                    public String getq() {  
                        return String.valueOf(q);
                        }  
                    public String getf() {  
                        return String.valueOf(f);
                        }
                
                
                   
                          
                        
    }

    import java.awt.Graphics;
    import java.awt.EventQueue;

    import javax.swing.JFrame;

    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.Panel;

    import javax.swing.JLabel;

    import java.awt.GridBagLayout;
    import java.awt.GridBagConstraints;
    import java.awt.Insets;
    import java.awt.Font;

    import javax.swing.ImageIcon;

    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JTextField;
    import javax.swing.UIManager;
    import javax.swing.Icon;
    import javax.swing.event.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.FlowLayout;
    import java.util.StringTokenizer;

    import javax.swing.SwingConstants;



    public class JiShi extends JFrame implements ActionListener{
         
        public TextField T0;
        public TextField T1;
        public TextField T2;
        public TextField T3;
        public TextField T4;
        public TextField t1;
        public String n1;
        public String m1;
        public String c1;
        public int n2;
        public int m2;
        public int c2;
        
        /**
         * Launch the application.
         */
        
        

        /**
         * Create the application.
         */
        JiShi(){
            getContentPane().setBackground(Color.PINK);
            getContentPane().setForeground(Color.BLACK);
            setForeground(Color.PINK);
            setTitle("\u8BA1\u7B97");
            setBounds(100, 100, 450, 300);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            GridBagLayout gridBagLayout = new GridBagLayout();
            gridBagLayout.columnWidths = new int[]{86, 0, 43, 214, 204, 51, 10, 63, 0, 0, 10, 120, 0};
            gridBagLayout.rowHeights = new int[]{41, 109, 43, 33, 50, 0};
            gridBagLayout.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
            gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
            getContentPane().setLayout(gridBagLayout);
            
            
            
            
            
            Label label_2 = new Label("\u6B22\u8FCE\u8FDB\u5165\u5E7F\u5546\u56DB\u5219\u8FD0\u7B97\u7CFB\u7EDF\uFF01");
            label_2.setAlignment(Label.RIGHT);
            label_2.setFont(new Font("黑体", Font.PLAIN, 12));
            GridBagConstraints gbc_label_2 = new GridBagConstraints();
            gbc_label_2.anchor = GridBagConstraints.SOUTHWEST;
            gbc_label_2.insets = new Insets(0, 0, 5, 5);
            gbc_label_2.gridx = 4;
            gbc_label_2.gridy = 0;
            getContentPane().add(label_2, gbc_label_2);
            
            Panel panel_4 = new Panel();
            GridBagConstraints gbc_panel_4 = new GridBagConstraints();
            gbc_panel_4.anchor = GridBagConstraints.EAST;
            gbc_panel_4.gridwidth = 4;
            gbc_panel_4.insets = new Insets(0, 0, 5, 5);
            gbc_panel_4.gridx = 3;
            gbc_panel_4.gridy = 1;
            getContentPane().add(panel_4, gbc_panel_4);
            
                JLabel j = new JLabel(new ImageIcon("I:\\Yunsuan\\src\\\u5E7F\u5546.jpg"));
                panel_4.add(j);
                j.setFont(UIManager.getFont("Button.font"));
                j.setBackground(Color.WHITE);
                j.setBounds(1, 1, 1, 1);
            
            Panel panel_1 = new Panel();
            GridBagConstraints gbc_panel_1 = new GridBagConstraints();
            gbc_panel_1.anchor = GridBagConstraints.SOUTHEAST;
            gbc_panel_1.insets = new Insets(0, 0, 5, 5);
            gbc_panel_1.gridx = 3;
            gbc_panel_1.gridy = 2;
            getContentPane().add(panel_1, gbc_panel_1);
            
            Label label = new Label("\u9898\u76EE\u6570\uFF1A");
            label.setAlignment(Label.RIGHT);
            panel_1.add(label);
            
            T0 = new TextField();
            T0.setFont(new Font("Dialog", Font.PLAIN, 12));
            T0.setColumns(1);
            T0.addActionListener(this);
            panel_1.add(T0);
            
            Panel panel_7 = new Panel();
            GridBagConstraints gbc_panel_7 = new GridBagConstraints();
            gbc_panel_7.insets = new Insets(0, 0, 5, 5);
            gbc_panel_7.gridx = 4;
            gbc_panel_7.gridy = 2;
            getContentPane().add(panel_7, gbc_panel_7);
            
            Label label_7 = new Label("\u4E58\u9664,\u9636\u4E58\uFF081,0,2\uFF09\uFF1A");
            panel_7.add(label_7);
            
            T1 = new TextField();
            T1.setColumns(1);
            T1.addActionListener(this);
            panel_7.add(T1);
            
            Panel panel_6 = new Panel();
            GridBagConstraints gbc_panel_6 = new GridBagConstraints();
            gbc_panel_6.anchor = GridBagConstraints.EAST;
            gbc_panel_6.insets = new Insets(0, 0, 5, 5);
            gbc_panel_6.gridx = 3;
            gbc_panel_6.gridy = 3;
            getContentPane().add(panel_6, gbc_panel_6);
            
            Label label_6 = new Label("\u7B54\u6848\u4E3A\uFF1A");
            panel_6.add(label_6);
            
            T3 = new TextField();
            T3.setEditable(false);
            T3.setEnabled(false);
            panel_6.add(T3);
            
            T3.setColumns(1);
            
            Panel panel = new Panel();
            GridBagConstraints gbc_panel = new GridBagConstraints();
            gbc_panel.anchor = GridBagConstraints.WEST;
            gbc_panel.insets = new Insets(0, 0, 5, 5);
            gbc_panel.gridx = 4;
            gbc_panel.gridy = 3;
            getContentPane().add(panel, gbc_panel);
            
            Label label_3 = new Label("\u606D\u559C\u4F60\u7B54\u5BF9\u4E86\uFF1A");
            label_3.setAlignment(Label.RIGHT);
            panel.add(label_3);
            
            T4 = new TextField();
            T4.setFont(new Font("Dialog", Font.PLAIN, 12));
            T4.setEnabled(false);
            T4.setEditable(false);
            T4.setColumns(4);
            
            panel.add(T4);
            
            Panel panel_5 = new Panel();
            GridBagConstraints gbc_panel_5 = new GridBagConstraints();
            gbc_panel_5.anchor = GridBagConstraints.NORTHEAST;
            gbc_panel_5.insets = new Insets(0, 0, 0, 5);
            gbc_panel_5.gridx = 3;
            gbc_panel_5.gridy = 4;
            getContentPane().add(panel_5, gbc_panel_5);
            
            Label label_5 = new Label("\u603B\u5206\uFF1A");
            panel_5.add(label_5);
            label_5.setAlignment(Label.RIGHT);
            
            T2 = new TextField();
            T2.setEditable(false);
            T2.setEnabled(false);
            T2.setColumns(1);
        
            
            panel_5.add(T2);
            
            Panel panel_2 = new Panel();
            GridBagConstraints gbc_panel_2 = new GridBagConstraints();
            gbc_panel_2.anchor = GridBagConstraints.NORTHEAST;
            gbc_panel_2.insets = new Insets(0, 0, 0, 5);
            gbc_panel_2.gridx = 4;
            gbc_panel_2.gridy = 4;
            getContentPane().add(panel_2, gbc_panel_2);
            
            Label label_4 = new Label("\u5BF9\u4E0D\u8D77\u4F60\u7B54\u9519\u4E86\uFF1A");
            panel_2.add(label_4);
            
            t1 = new TextField();
            t1.setEnabled(false);
            t1.setEditable(false);
            t1.setColumns(3);
            
            panel_2.add(t1);
            
            setVisible(true);                       //将窗口设置为可视
            setResizable(false);
            setAlwaysOnTop(true);//设置此窗口永远为最上方 是window的方法
            setLocationRelativeTo(null);  //让窗口在屏幕的正中间显示
           
            
        }

            
                
        /**
         * Initialize the contents of the frame.
         */
        
        public void actionPerformed(ActionEvent evt){
            
            if(evt.getSource()==T0){  
                T1.requestFocusInWindow();  
            }  
            else if(evt.getSource()==T1){
                n1=T0.getText();
                m1=T1.getText();
                n2=Integer.valueOf(n1);
                m2=Integer.valueOf(m1);
                c2=Integer.valueOf(c1);
                 YunSuan bes =new YunSuan();
                 bes.TiMu(n2,m2);
                 bes.PanDuan();
                T4.setText(bes.getp());
                T2.setText(bes.getf());
                t1.setText(bes.getq());
              

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

    }
    7.界面及测试结果:

               

    8.问题:界面那里还是有点问题,希望大家能给点建议我们!
    最后附上我们的合照:

  • 相关阅读:
    vue实现图片预览旋转/放大缩小/上下切换等功能
    VMware安装遇到的问题
    webstrom弹出Server's certificate is not trusted 解决方法
    this.setData is not a function;at pages/index/index onLoad function;at api request success callback function TypeError: this.setData is not a function
    小程序结构目录
    第一个微信小程序
    用C#开发ActiveX控件给VB使用
    处理WIN7,winxp下安装vb6,出现config.nt 无法运行16位DOS程序故障的方法
    VISUALSVN: UNABLE TO CONNECT TO A REPOSITORY AT URL 无法连接主机的解决办法
    程序全屏开机运行,不允许操作电脑桌面,适用工控机触摸屏
  • 原文地址:https://www.cnblogs.com/Lianliyun/p/4410361.html
Copyright © 2020-2023  润新知