zoukankan      html  css  js  c++  java
  • 四则运算

    四则运算

    题目:编写一个能对0-10之间的整数进行四则运算的“软件”。程序能接收用户输入的整数答案,并判断对错。程序结束时,统计出答对和

    答错的题目数量。(0-10的整数是随机生成的,用户可用键盘输入来选择四则运算中的一种,比如输入1代表加法运算。用户用键盘输入一

    个字符来结束程序的运行并显示统计结果。)

    需求分析:
        该软件的主要用途就是对两个整数进行运算,由用户选择运算法则,输入结果,由程序判断对错,程序结束时统计对、错的数量。
    设计思路:

    首先创建一个窗体:

    添加控件:

    具体代码:

    package liu;
    import java.awt.Button;
    import java.awt.Choice;
    import java.awt.FlowLayout;
    import java.awt.Frame;
    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.*;
    import javax.swing.JFrame;
    public class Test
    {
    	public static void main(String[] args)
    	{
    		JFrame f=new JFrame("四则运算");//建立窗体对象
    	    f.setSize(555,333);//窗体的宽和高
    	    f.setLocation(444, 222);//设置窗体在屏幕中所处位置,参数是左上角坐标。
    	   
    	    Button but1 = new Button("获取整数");//创建按钮
    		final TextField tf1 = new TextField(8);//创建文本框
    		final Choice choice = new Choice();//为加减乘除生成一个下拉式菜单
    		choice.addItem("+");
    		choice.addItem("-");
    		choice.addItem("*");
    		choice.addItem("/");
    		 Button but2 = new Button("获取整数");//创建按钮
    		final TextField tf2 = new TextField(8);//创建文本框
    		 Button bu = new Button("结果");//创建按钮
    		Label label = new Label("=");//创建标签
    		final TextField tf3 = new TextField(8);//创建文本框
    	    f.add(but1);//在窗口添加按钮组件
    	    f.add(tf1);//在窗口添加文本框
    		f.add(choice);//在窗口添加下拉式菜单
    		f.add(but2);//在窗口添加按钮组件
    		f.add(tf2);//在窗口添加文本框
    		f.add(label);//在窗体添加标签
    		f.add(bu);//在窗口添加按钮组件
    		f.add(tf3);//在窗口添加文本框
    		
    f.setLayout(new FlowLayout());
    		
    		bu.addActionListener(new ActionListener()
    		{
    
    			public void actionPerformed(ActionEvent arg0)
    			{
    				String s1 = tf1.getText();
    				String s2 = tf2.getText();
    				String ch = choice.getSelectedItem();
    				double d1 = Double.parseDouble(s1);
    				double d2 = Double.parseDouble(s2);
    				double d = 0;
    				
    				
    				if (ch.equals("+"))
    				{
    					d = d1 + d2;
    				} else if (ch.equals("-"))
    				{
    					d = d1 - d2;
    				} else if (ch.equals("*"))
    				{
    					d = d1 * d2;
    				} else
    				{
    					d = d1 / d2;
    				}
    				tf3.setText(d + "");
    				}
    				
    		});
    		
    		f.setVisible(true);//设置窗体可见
    	}
    }  
    

    对两个“获取整数”按钮进行添加监听

    随机整数:

    Random r1 = new Random();
     int num1= r1.nextInt(10)+1;// random.nextInt(n)+1到10的随机整数
    
    Random r2 = new Random();
     int num2= r1.nextInt(10)+1;// random.nextInt(n)+1到10的随机整数
    

     由于所学内容有限,这个问题一直没有解决


    测试:

    没有实现是随机整数,

    没有实现键盘选择运算符号。。没有实现的东西有很多。

    所学内容有限,加上天赋不高,所以没有做到题目要求,


    psp耗时分析:

    psp
    计划  需时 7
    开发 6
       需求分析 0.6
       设计思路 0.9
        实现代码 4
        测试 1
    总结 0.5

      
    总结:

    当知道要编写这个程序的时候,我的第一反应是,我不会,到现在为止,虽然写了那么多,还是觉得迷迷糊糊,好多东西都不后悔,毕竟没那个天赋。

    放假前Java老师讲过类似的程序,比起这个题来简单好多。

    感觉好难啊,有些功能都不知道怎么实现

    希望老师理解。

  • 相关阅读:
    sql-server数据库中利用触发器实现表与表之间的级联删除
    求任意长度数组的最大值(整数类型)。利用params参数实现任意长度的改变。
    params参数的调用
    C# 参考之方法参数关键字:params、ref及out
    写一个方法求数组中的最大值,最小值,总和以及平均值。
    写一个方法来解析一元二次方程。
    创建一个方法来判断是否为闰年。。
    构造方法
    总结重写和重载区别
    DelegatingActionProxy
  • 原文地址:https://www.cnblogs.com/heimao/p/4857880.html
Copyright © 2011-2022 走看看