作业2结对(升级版)

//第一个类:登陆界面
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Login extends JFrame implements ActionListener{
    JTextField f1;
    JTextField f2;
    JButton b1;
    JButton b2;
    JPanel p5;
    Image img = Toolkit.getDefaultToolkit().getImage("1.jpg");
    Login(){
        this.setTitle("四则运算的系统登录");
        this.setSize(360,250);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Dimension screensize=Toolkit.getDefaultToolkit().getScreenSize();//截取屏幕大小
        this.setLocation(screensize.width/2-400/2, screensize.height/2-400/2);//居中计算
        Container cp=getContentPane();
        Label l1=new Label("用户:");
        Label l2=new Label("密码:");
        JPanel p1=new JPanel();
        JPanel p2=new JPanel();
        JPanel p3=new JPanel();
        JPanel p4=new JPanel();
        p5=new JPanel(){//将图片添加到面板5
            protected  void paintChildren(Graphics g) {
                int imgwidth=img.getWidth(this);//获得图片的宽高
                int imgheight=img.getHeight(this);
                int fwidth=getWidth();//获得窗口的大小
                int fheight=getHeight();
                int x=(fwidth-imgwidth)/2;
                int y=(fheight-imgheight)/2;
                g.drawImage(img,x,y,this);
                super.paintChildren(g);
            }
        };
        f1=new JTextField(15);
        f2=new JPasswordField(15);
        b1=new JButton("登录");
        b2=new JButton("重置");
        p1.setBackground(Color.orange);
        p2.add(l1);
        p2.add(f1);
        p2.setBorder(new MatteBorder(0,0,0,0,Color.black));//创建具有指定 insets和颜色的衬边边框
        p2.setBackground(Color.ORANGE);
        p3.add(l2);
        p3.add(f2);
        p3.setBackground(Color.ORANGE);
        p3.setBorder(new MatteBorder(0,0,0,0,Color.black));
        p4.add(b1);
        p4.add(b2);
        p4.setBorder(new MatteBorder(0,0,0,0,Color.black));
        p4.setBackground(Color.ORANGE);
        p5.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
        p5.add(p2);
        p5.add(p3);
        p5.add(p4);
        cp.add(p5,BorderLayout.CENTER);
        b1.addActionListener(this);
        b2.addActionListener(this);
        this.setResizable(false);//设置不可以改变大小
        this.setVisible(true);//设置窗口可见
        }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==b1)//当获取的资源是按钮1时
        {//当输入的用户名为”詹泽娟“并且密码为”123456“,则切换到四则运算的界面
            if((f1.getText()).equals("詹泽娟")&&(f2.getText()).equals("123456"))
            {
                new MyWindow();
                this.setVisible(false);
            }
            else
                JOptionPane.showMessageDialog(null, "用户名或者密码不正确!");
        }
        if(e.getSource()==b2)
        {
            f1.setText("");
            f2.setText("");
        }
    }
 public static void main(String[] args){
     new Login();
 }
}

//第二个类:四则运算界面
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.math.*;
import java.text.DecimalFormat;
import java.util.Scanner;
import java.math.*;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.JOptionPane;//消息提示框
import javax.swing.UIManager;
class MyWindow extends JFrame implements ActionListener{
    JTextField text;//提示输入的个数
    JTextField  t;//随机题目
    JTextField at;//用于输入答案
    JTextField st;//判断对错
    JTextField tt;//显示时间
    JTextField lt;//设置时间
    JMenuBar menuBar;
    JMenu menu;
    JRadioButtonMenuItem item;
    private Timer tmr;
    JLabel L1;
    JLabel L2;
    JLabel L3;
    JLabel L4;
    JLabel L5;
    JLabel L6;
    JButton B1,B2;
    JPanel p1,p2,p3;
    String parten="0.00";//设置格式为“0.00”
    DecimalFormat decimal=new DecimalFormat(parten);
    String str;// str=decimal.format(sum);
    double seconds;//时间“秒”
    long startTime,endTime;
    char[]ch={‘+‘,‘-‘,‘*‘,‘÷‘};//存放加减乘除的符号数组
    float sum=0;//程序判断的答案
    int timushu;//用户输入的题目
    int count=0;//已经 出的题目
    int right=0;//计算答对的题目数
    int wrong=0;//计算答错的题目数
    MyWindow()
    {
        super("四则运算");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(400,250);
        Dimension screensize=Toolkit.getDefaultToolkit().getScreenSize();//截取屏幕大小
        this.setLocation(screensize.width/2-400/2, screensize.height/2-400/2);//居中计算
        L1=new JLabel("选择题数(不能超过5个)");
        L2=new JLabel("时间:");
        L3=new JLabel("设置时间(时间不超过120秒):");
        L4=new JLabel("随机题目:");
        L5=new JLabel("输入答案:");
        L6=new JLabel("判断对错:");
        text=new JTextField(15);
        B1=new JButton("开始");

            t=new JTextField(23);
            at=new JTextField(23);
            at.addActionListener(this);
            st=new JTextField(23);
            tt=new JTextField(15);
            tt.addActionListener(this);
            lt=new JTextField(5);
            lt.addActionListener(this);
            Timer tmr = new Timer(1000, this);//间隔1秒
            this.tmr = tmr;//添加时间
            menuBar=new JMenuBar();
            setJMenuBar(menuBar);
            menu=new JMenu("外观选择");
            UIManager.LookAndFeelInfo[] infos=UIManager.getInstalledLookAndFeels();//获取本地观感,置入数组
             for(UIManager.LookAndFeelInfo info:infos){
                  makeitem(info.getName(),info.getClassName());}

                 add(menu);

        B2=new JButton("下一题");B2.addActionListener(this);
        text.addActionListener(this);B1.addActionListener(this);
        p1=new JPanel();p2=new JPanel();p3=new JPanel();
        getContentPane().add(p1,"North");getContentPane().add(p2,"Center");getContentPane().add(p3,"South");
        p1.add(L3);p1.add(lt);p2.add(L1);p2.add(text);p2.add(B1);
        p2.add(L4);p2.add(t);p2.add(L5);p2.add(at);p2.add(L6);p2.add(st);
        p3.add(L2);p3.add(tt);p3.add(B2);
        menuBar.add(menu);
        this.setResizable(false);//设置不可以改变大小
        this.setVisible(true);//设置窗口可见
    }
     void makeitem(String name,final String MyWindow)
        {
            JRadioButtonMenuItem item=new JRadioButtonMenuItem(name);
         menu.add(item);
         item.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent event)//使用内部类的实例
          {
           try
           {
            UIManager.setLookAndFeel(MyWindow);//设置观感
            SwingUtilities.updateComponentTreeUI(MyWindow.this);//更新当前观感
           }
           catch(Exception e)
           {
            e.printStackTrace();
           }
          }
         });
        }

    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==B1)//当获取的资源是按钮1时
        {

            try
            {
                tt.setText(String.valueOf(lt.getText()));//在显示时间框里显示以获取的时间
                String reg="^[0-9]+$";
                String str1=lt.getText();
                String str2=text.getText();
                if(str1.matches(reg))
                {
                    tt.setText(String.valueOf(lt.getText()));
                }
                else
                {
                    this.setVisible(false);
                    JOptionPane.showMessageDialog(null, "输入非法错误!");
                }
                if(str2.matches(reg))
                {
                    text.setText(String.valueOf(text.getText()));
                }
                else
                {
                    this.setVisible(false);
                    JOptionPane.showMessageDialog(null, "输入非法错误!");
                }
            int n1=120,n2=5;
            if(n1<(Integer.parseInt(tt.getText())))
            {//当设置时间超过120秒,弹出对话框
                JOptionPane.showMessageDialog(null, "时间不能超过120秒!");
                this.setVisible(false);
            }
            if(n2<(Integer.parseInt(text.getText())))
            {//当选择题目个数超过5个,弹出对话框
                JOptionPane.showMessageDialog(null, "选择题数不能超过五个!");
                this.setVisible(false);
            }
            tmr.start();//开始计时
            }
            catch(NullPointerException o)
            {

            }
            suijishu();//调用产生随机数题目
        //    startTime= System.currentTimeMillis(); //获取开始时间
            tt.setText(String.valueOf(lt.getText()));
        }
        else{
            int m = Integer.parseInt(tt.getText());
            m--;
            tt.setText("" + m);
            if (m <= 0)
            {
                 tmr.stop();
                 JOptionPane.showMessageDialog(null, "超出答题时间!");
                 this.setVisible(false);
            }
           if(e.getSource()==at)//当获取的资源是输入答案时
           {
                str=decimal.format(sum);
                if(Float.parseFloat(str)==Float.parseFloat(at.getText()))//判断输入的答案对错
                {
                    right++;
                    st.setText("输入的答案正确!");
                    st.setForeground(Color.red);
                }
                else
                {
                    wrong++;
                    st.setText("输入的答案不正确!正确答案为"+Float.parseFloat(str));
                    st.setForeground(Color.red);//当判断答案对错时,字体显示红色
                }
            }
            else if(e.getSource()==B2)//当获取的资源是按钮2
            {
                count++;//当未超过题目数时,继续出随机题
                if(count!=Integer.parseInt(text.getText()))
                {
                    t.setText(null);
                    at.setText(null);
                    st.setText(null);
                    suijishu();
                }

                else
                {//当超过输入的题目数时,弹出结束的消息框
                    tmr.stop();

                    //double endTime= System.currentTimeMillis() ;//获取结束时间
                    seconds=Double.parseDouble(lt.getText())-Double.parseDouble(tt.getText());//计算时间
                    //tt.setText(String.valueOf(seconds)+"s");//输出时间
                    JOptionPane.showMessageDialog(null, "答题结束!一共答对"+right+"道题目,答错"+wrong+"道题目!"+"答题时间为:"+seconds+"秒");
                   this.setVisible(false);
                }
            }
        }
    }
    private void suijishu()
    {
        int x=(int)(Math.random()*4);
        switch(x)
        {
        case 0:
            fun0();//一个运算符,整数,整数
            break;
        case 1:
            fun1();//一个运算符,整数,分数
            break;
        case 2:
            fun2();//一个运算符,分数,分数
            break;
        case 3:
            fun3();//两个运算符
            break;
        case 4:
            fun4();//求阶乘
            break;
        case 5:
            fun5();//题目出现负数
            break;
        //case 4:
        //、    fun1();
    //、case 5:
    //、    fun1();
    //、case 6:
        //    fun1();
        }
    }
    private void fun0()
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*4);//表示加减乘除
        switch(x1)
        {
        case 0:
            {
                t.setText(a+" "+String.valueOf(ch[0])+" "+b);
                sum=a+b;
            }
            break;
        case 1:
            {
                t.setText(a+" "+String.valueOf(ch[1])+" "+b);
                sum=a-b;
            }
            break;
        case 2:
            {
                 t.setText(a+" "+String.valueOf(ch[2])+" "+b);
                sum=a*b;
            }
            break;
        case 3:
            {
                t.setText(a+" "+String.valueOf(ch[3])+" "+b);
                 sum=(float)a/(float)b;
            }
            break;
        }
    }
    private void fun1()
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int c=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*4);//表示加减乘除
        switch(x1)
        {
        case 0:
            {
                t.setText(a+" "+String.valueOf(ch[0])+" "+b+"/"+c);
                sum=a+((float)b/(float)c);
            }break;
        case 1:
            {
                t.setText(a+" "+String.valueOf(ch[1])+" "+b+"/"+c);
                sum=a-((float)b/(float)c);
            }break;
        case 2:
            {
                 t.setText(a+" "+String.valueOf(ch[2])+" "+b+"/"+c);
                sum=a*((float)b/(float)c);
            }break;
        case 3:
            {
                t.setText(a+" "+String.valueOf(ch[3])+" "+b+"/"+c);
                 sum=(float)a/(float)b/(float)c;
            }break;
        }
    }
    private void fun2()
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int c=(int)(Math.random()*10+1);
        int d=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*4);//表示加减乘除
        switch(x1)
        {
        case 0:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[0])+" "+b+"/"+c);
                sum=((float)a/(float)d)+((float)b/(float)c);
            }break;
        case 1:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[1])+" "+b+"/"+c);
                sum=((float)a/(float)d)-((float)b/(float)c);
            }break;
        case 2:
            {
                 t.setText(a+"/"+d+" "+String.valueOf(ch[2])+" "+b+"/"+c);
                sum=((float)a/(float)d)*((float)b/(float)c);
            }break;
        case 3:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[3])+" "+b+"/"+c);
                 sum=((float)a/(float)d)/((float)b/(float)c);
            }break;
        }
    }
    private void fun3()
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int c=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*3);//表示加减乘除
        switch(x1)
        {
        case 0:
            fun31();//两个运算符,三个整数
            break;
        case 1:
            fun32();//两个运算符,两个整数,一个分数
            break;
        case 2:
            fun33();//两个运算符,一个整数,两个分数
            break;
    //    case 3:
      //      fun34();
      //      break;
        }
    }
    private void fun31()
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int c=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*11);//表示加减乘除
        switch(x1)
        {
        case 0:
            {
                t.setText(a+" "+String.valueOf(ch[0])+" "+b+" "+String.valueOf(ch[0])+" "+c);
                sum=a+b+c;
            }break;
        case 1:
            {
                t.setText(a+" "+String.valueOf(ch[0])+" "+b+" "+String.valueOf(ch[1])+" "+c);
                sum=a+b-c;
            }break;
        case 2:
            {
                t.setText(a+" "+String.valueOf(ch[1])+" "+b+" "+String.valueOf(ch[1])+" "+c);
                sum=a-b-c;
            }break;
        case 3:
            {
                t.setText(a+" "+String.valueOf(ch[2])+" "+b+" "+String.valueOf(ch[0])+" "+c);
                sum=a*b+c;
            }break;
        case 4:
            {
                t.setText(a+" "+String.valueOf(ch[2])+" "+b+" "+String.valueOf(ch[1])+" "+c);
                 sum=a*b-c;
            }break;
        case 5:
            {
                t.setText(a+" "+String.valueOf(ch[2])+" "+b+" "+String.valueOf(ch[2])+" "+c);
                sum=a*b*c;
               }break;
         case 6:
            {
                t.setText(a+" "+String.valueOf(ch[0])+" "+b+" "+String.valueOf(ch[1])+" "+c);
                 sum=a+b-c;
            }break;
        case 7:
           {
                t.setText(a+" "+String.valueOf(ch[3])+" "+b+" "+String.valueOf(ch[0])+" "+c);
                sum=((float)a/(float)b)+c;
           }break;
        case 8:
           {
                t.setText(a+" "+String.valueOf(ch[3])+" "+b+" "+String.valueOf(ch[1])+" "+c);
                 sum=((float)a/(float)b)-c;
            }break;
        case 9:
           {
                t.setText(a+" "+String.valueOf(ch[3])+" "+b+" "+String.valueOf(ch[3])+" "+c);
                 sum=((float)a/(float)b)/(float)c;
            }break;
        }
    }
    private void fun32()
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int c=(int)(Math.random()*10+1);
        int d=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*4);//表示加减乘除
        switch(x1)
        {
        case 0:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[0])+b+" "+String.valueOf(ch[0])+" "+c);
                sum=((float)a/(float)d)+b+c;
            }break;
        case 1:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[0])+b+" "+String.valueOf(ch[1])+" "+c);
                sum=((float)a/(float)d)+b-c;
            }break;
        case 2:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[1])+b+" "+String.valueOf(ch[1])+" "+c);
                sum=((float)a/(float)d)-b-c;
            }break;
        case 3:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[2])+b+" "+String.valueOf(ch[0])+" "+c);
                 sum=((float)a/(float)d)*b+c;
            }break;
        case 4:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[2])+b+" "+String.valueOf(ch[1])+" "+c);
            sum=((float)a/(float)d)*b-c;
        }break;
        case 5:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[2])+b+" "+String.valueOf(ch[2])+" "+c);
            sum=((float)a/(float)d)*b*c;
        }break;
        case 6:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[2])+b+" "+String.valueOf(ch[3])+" "+c);
            sum=((float)a/(float)d)*b/(float)c;
        }
        case 7:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[3])+b+" "+String.valueOf(ch[0])+" "+c);
            sum=((float)a/(float)d)/(float)b+c;
        }break;
        case 8:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[3])+b+" "+String.valueOf(ch[1])+" "+c);
            sum=((float)a/(float)d)/(float)b-c;
        }break;
        case 9:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[3])+b+" "+String.valueOf(ch[3])+" "+c);
            sum=((float)a/(float)d)/(float)b/(float)c;
        }break;
        }
    }
    private void fun33()//一个整数,两个分数
    {
        int a=(int)(Math.random()*10+1);
        int b=(int)(Math.random()*10+1);
        int c=(int)(Math.random()*10+1);
        int d=(int)(Math.random()*10+1);
        int e=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*4);//表示加减乘除
        switch(x1)
        {
        case 0:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[0])+" "+b+"/"+c+" "+String.valueOf(ch[0])+" "+e);
                sum=((float)a/(float)d)+((float)b/(float)c)+e;
            }break;
        case 1:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[0])+" "+b+"/"+c+" "+String.valueOf(ch[1])+" "+e);
                sum=((float)a/(float)d)+((float)b/(float)c)-e;
            }break;
        case 2:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[1])+" "+b+"/"+c+" "+String.valueOf(ch[1])+" "+e);
                sum=((float)a/(float)d)-((float)b/(float)c)-e;
            }break;
        case 3:
            {
                t.setText(a+"/"+d+" "+String.valueOf(ch[2])+" "+b+"/"+c+" "+String.valueOf(ch[0])+" "+e);
                 sum=((float)a/(float)d)*((float)b/(float)c)+e;
            }break;
        case 4:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[2])+" "+b+"/"+c+" "+String.valueOf(ch[1])+" "+e);
            sum=((float)a/(float)d)*((float)b/(float)c)-e;
        }break;
        case 5:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[2])+" "+b+"/"+c+" "+String.valueOf(ch[2])+" "+e);
            sum=((float)a/(float)d)*((float)b/(float)c)*e;
        }break;
        case 6:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[2])+" "+b+"/"+c+" "+String.valueOf(ch[3])+" "+e);
            sum=((float)a/(float)d)*((float)b/(float)c)/(float)e;
        }
        case 7:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[3])+" "+b+"/"+c+" "+String.valueOf(ch[0])+" "+e);
            sum=((float)a/(float)d)/((float)b/(float)c)+e;
        }break;
        case 8:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[3])+" "+b+"/"+c+" "+String.valueOf(ch[1])+" "+e);
            sum=((float)a/(float)d)/((float)b/(float)c)-e;
        }break;
        case 9:
        {
            t.setText(a+"/"+d+" "+String.valueOf(ch[3])+" "+b+"/"+c+" "+String.valueOf(ch[3])+" "+e);
            sum=((float)a/(float)d)/((float)b/(float)c)/(float)e;
        }break;
        }
    }
    private void fun4()
    {
        int a=(int)(Math.random()*10+1);//求1~10的阶乘
        t.setText(a+"!");
        for(int i=1;i<=a;i++)
        {
            sum=1;
            sum=sum*i;
        }
    }
    private void fun5()
    {
        int a=(int)(Math.random()*99+1)*-1;//随机生成-1~-99的负整数
        int b=(int)(Math.random()*10+1);
        int x1=(int)(Math.random()*4);
        switch(x1)
        {
        case 0:
            {
                t.setText("("+a+") "+String.valueOf(ch[0])+" "+b);
                sum=a+b;
            }
            break;
        case 1:
            {
                t.setText("("+a+") "+String.valueOf(ch[1])+" "+b);
                sum=a-b;
            }
            break;
        case 2:
            {
                 t.setText("("+a+") "+String.valueOf(ch[2])+" "+b);
                sum=a*b;
            }
            break;
        case 3:
            {
                t.setText("("+a+") "+String.valueOf(ch[3])+" "+b);
                 sum=(float)a/(float)b;
            }
            break;
        }

    }
}

一开始显示的登录界面

当用户名或密码不正确时:

当输入用户和密码都正确时,切换到四则运算界面:

当输入时间不符合要求时,弹出下框:

当输入选择题数不符合要求时,弹出下框:

当都输入正确时,则自动出题:

当输入答案后,回车,系统判断正确与否:

当答题结束时:

当答题时间超过设置时:

这次在原来的基础上,将所有功能都完善了。
在实现更换皮肤时,出了点错,发现不了出错在哪里。
在设置用户登录界面时,为了美观,添加了一个图片当背景,
运行时发现图片总是没出现,后来仔细检查,发现参数带入有误。
由于显示的界面老是在屏幕左上角出现,于是设置窗口都在屏幕上正中间显现。
还存在的缺点:
1:更换皮肤界面时,前两个皮肤更换没问题,可是后三个更换皮肤时,窗口里的布局盖面

时间: 2024-10-22 10:27:58

作业2结对(升级版)的相关文章

第三次网上作业,结对编程

题目:编写一个能对0--10之间的整数进行四则运算的“软件”程序能接收用户输入的整数答案,并判断对错程序结束时,统计出答对.答错的题目数量.补充说明:0——10的整数是随机生成的用户可以用键盘输入来选择四则运算中的一种,比如输入1代表加法运算用户用键盘输入一个字符来结束程序的运行并显示统计结果,比如输入e程序结束并显示统计结果编程语言不限制,命令行输出和图像界面输出都可以.在此基础上,做增量开发.增量内容:1)处理用户的错误输入,比如输入字母或符号等,处理除法运算中分母为0的情况,处理结果为负数

作业四——结对编程四则运算

1. 结对编程项目---四则运算 此次编程项目的结队伙伴是方春阳 学号:130201129 计科13-1 博客地址 http://www.cnblogs.com/fcy29/ 根据要求我们设计了以下程序: 主界面: 在该页面下,可以看到此四则运算的主要功能,可以自行选择数的范围,系统默认值为1-100之间,超出这个范围并未得以实现,输入要生成题目的数量,然后按要求选择在算式中是否有乘除.负数.括号及真分数等功能,选择完成后,选好生成方式,点击确定.就可在框中自动生成算式.单击退出按钮便可退出该程

软件工程 第四次作业(结对作业)

1.题目描述 (1). 首先,从以往个人完成的项目中选择一个作品.我选择的是用C语言小子集实现词法分析器,代码大于100行: (2). 将代码上传至GitHub或Coding.net系统中(我的代码是用Coding.net提交的,队友用的是GitHub),并将代码地址交给对方: (3). 对同伴的作品进行代码复审,并参照C/C++代码审查表和 Java代码审查表这两篇博文的内容自行设计代码审查表并填写内容: (4). 将对伙伴审查的结果以表格的形式写到自己的博客作业里,博客中应该附有伙伴作业的G

软件工程第五次作业(结对作业)

软件工程第五次作业 题目 本次作业我与合作伙伴选择的是题目1:四则运算生成 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 角色选择 驾驶员 - 能够完成全部代码工作,程序基本实现全部要求功能,并将代码上传至coding.net或者GitHub代码托管系统中 - 能够对导航员在本次编程工作中起到的作用给

第五次作业(结对第2次)

结对编程第二次作业 小学四则运算自动生成程序 一.题目要求 本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题. 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选

羊车门作业(结对作业)

0.本题目为结对作业,首先以下面的形式书写两个同学的学号和姓名(本处假设,作业是学号为 20184010001 李莉 和20184540035 王东 两个同学完成的,两个同学只需其中一个同学提交本作业即可): 作业完成人: 学号:20171301005,许世长 学号:20171301029,陈成 1.按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化? 答:几率没有发生变化 2.请自己认真分析一下"不换选择能有更高的几率获得汽车,还是

实践作业3 结对项目

结对项目 一.实践目的 1.熟悉Java GUI相关类的API. 2.理解并实践事件驱动程序设计中的监听器.监听器方法.监听器适配器接口.   二.实践要求 利用Java GUI的组件类.容器类和辅助类设计所选项目的用户界面,并在深入理解并掌握事件驱动程序设计原理的基础上,实现事件驱动的程序设计.   三.项目需求 所选项目名称:万年历. 项目需求描述,主要指应实现的主要功能. 实现了日历的查询,方便使用.界面主要是由查询输入部分和结果显示部分两部分组成. 查询输入:①一个文本域,用于输入年份.

作业四--结对编程四则运算

结对编程--四则混合运算 结对小伙伴:秦文 130201214  http://www.cnblogs.com/896702797-qw/ 于悦 130201221  http://www.cnblogs.com/yuyue1216/ 基本功能: 带有用户登陆界面 题目不重复 支持负数 可设置题目数量 具有数值范围 有乘除法 运算结果中会出现分数 用户登录界面 功能选择 题目 编程过程中的我们: 总结: 此次结对编程中,我觉得优点是结对编程自己的工作量变小了,而且遇到什么事,还有可以商量的人,并

20150401 作业2 结对 四则运算ver 1.0

Web項目下 Tomcat服務器的路徑 /WebContant/ 目錄下 SE2_2.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "htt