结对编程(宫丽君和林莉):四则运算

1.需求:根据给出的由两个数字(整数或者是小数)和一个运算符构成的表达式,输入表达式的结果,并与正确答案进行比较,输出对错

2.需求分析:

(1)生成两个随机数

(2)生成一个随机运算符

(3)根据随机生成的数字和运算符构成的表达式,输入运算结果

(4)根据输入的运算结果与正确答案进行比较,输出正确或者错误

2.代码实现

package ruan.jian.gong.cheng;

import java.text.DecimalFormat;
import java.util.Random;
import java.util.Scanner;

public class FigureOperate {
    public static void main(String[] args) {
        int correctNum=0;                    //统计答对的题目个数
        int wrongNum=0;                        //统计答错的题目个数
        Scanner scan=new Scanner(System.in);
        double result;                        //表达式的结果
        double correctResult;                //表达式的正确结果
        DecimalFormat df=new DecimalFormat("0.00");
        //循环输出10道十以内的四则运算
        for(int i=1;i<=10;i++){
            double num1=Math.round((double)(Math.random()*10));  //随机生成一个10以内的数字放在运算符的左侧
            double num2=Math.round((double)(Math.random()*10));  //随机生成一个10以内的数字放在运算符的右侧
            //随机生成一个运算符
            Random operate=new Random();
            int n=operate.nextInt(4);
            char [] c={‘+‘,‘-‘,‘*‘,‘/‘};
            int ope=(int)c[n];               //获得随机生成的运算符对应的ASSIC值
            switch(ope){
                case 43:{        //与加号对应的ASSIC值相等,即当运算符为加号时
                    System.out.print("请计算:"+num1+"+"+num2+"=");
                    result=scan.nextDouble();
                    correctResult=num1+num2;
                    if(correctResult==result){
                        System.out.println("计算正确");
                        correctNum++;
                    }else{
                        System.out.println("计算错误");
                        wrongNum++;
                    }
                    break;
                }
                case 45:{        //与减号对应的ASSIC值相等,即当运算符为减号时
                    System.out.print("请计算:"+num1+"-"+num2+"=");
                    result=scan.nextDouble();
                    correctResult=num1-num2;
                    if(correctResult==result){
                        System.out.println("计算正确");
                        correctNum++;
                    }else{
                        System.out.println("计算错误");
                        wrongNum++;
                    }
                    break;
                }
                case 42:{        //与乘号对应的ASSIC值相等,即当运算符为乘号时
                    System.out.print("请计算:"+num1+"*"+num2+"=");
                    result=scan.nextDouble();
                    correctResult=num1*num2;
                    if(correctResult==result){
                        System.out.println("计算正确");
                        correctNum++;
                    }else{
                        System.out.println("计算错误");
                        wrongNum++;
                    }
                    break;
                }
                case 47:{        //与除号对应的ASSIC值相等,即当运算符为除号时
                    System.out.print("请计算:"+num1+"/"+num2+"=");
                    result=scan.nextDouble();
                    correctResult=Double.parseDouble(df.format(num1/num2));
                    if(correctResult==result){
                        System.out.println("计算正确");
                        correctNum++;
                    }else{
                        System.out.println("计算错误");
                        wrongNum++;
                    }
                    break;
                }
            }
        }
        System.out.println("共答对"+correctNum+"道题");
        System.out.println("共答对"+wrongNum+"道题");
    }
}

3.运行结果

4.结果分析

可以正确得出四则运算的结果并统计答对和答错的题数

时间: 2024-12-05 13:24:49

结对编程(宫丽君和林莉):四则运算的相关文章

结对编程Java实现四则运算(林伯浩 刘育明)

GIthub项目地址:https://github.com/3116004696/ruanjiangongcheng/tree/master/Myapp 项目要求: 实现一个自动生成小学四则运算题目的命令行程序. 1. 使用 -n 参数控制生成题目的个数.(实现) 2. 使用 -r 参数控制题目中数值(自然数.真分数和真分数分母)的范围.(未实现真分数运算) 3. 生成的题目中计算过程不能产生负数.(实现) 4. 生成的题目中如果存在形如e1 ÷ e2的子表达式,那么其结果应是真分数.(未实现)

《结对编程-四则运算生成器-开发过程》

结对编程队员:张常瑞 孙宇林 我们组做的编程项目是四则运算答题器. 算法的主要思想就是将一个中缀表达式(Infix expression)转换成便于处理的后缀表达式(Postfix expression),然后借助于栈这个简单的数据结构,计算出表达式的结果. 遇到的问题:如何将普通的表达式转换成后缀表达式,以及如何处理后缀表达式并计算出结果 解决办法:正在努力寻找中

结对编程总结:简单的四则运算生成程序

1.题目描述:           面向小学生,随机生成30个100以内的四则运算,并且用户可以录入结果,检查用户录入的结果是否是正确的. 2.结对编程说明 结对对象:尤建  博客地址:http://www.cnblogs.com/lovelyYakir/ 双方贡献:2:1 3.本程序描述: a. 本程序在原有题目的基础上加以了部分改进: 1. 随机生成指定个数的四则运算. 2.可以输入四则运算的上下限. 4.结对编程照片: 5.源程序代码: MyExpression.java package

结对编程之四则运算

学习进度条 点滴成就 学习时间 新编写代码行数 博客量(篇) 学习知识点 第一周 2h 0 0 了解软件工程 第二周 3h 0 1 项目开题 第三周 5h 0 1 需求文档.用例图 第四周 8h 100 1 结对编程 第五周 12h 120 0 软件工程 第六周 15h 200 0 编译原理.软件工程详细设计 第七周 20h 100 1 软件测试 1. 结对编程对象:范心莲 2013110410 对方博客地址:http://www.cnblogs.com/FancyLian/ 双方贡献比例: 1

结对编程项目——四则运算

1. 结对编程项目---四则运算 (10分) 基本功能要求: 1) 实现一个带有用户界面的四则运算.2) 生成的题目不能重复.3) 支持负数,例如-1,-1/2,-3‘4/5等.(达成) 需要支持的基本设定参数 1) 题目的数量  2) 数值的范围  3) 题目中最多几个运算符(目前没有达成)  4) 题目中或运算过程中有无有分数(比如进行整数除法的时候不能除尽) 5) 题目中是否有乘除法  6) 题目中是否有括号 (目前没有达成) 7) 题目中或运算过程中有无负数         学习感受:

结对编程《四则运算》

1.结对编程题目是:面向小学生,随机生成30个100以内的四则运算,并且用户可以录入结果,检查用户录入的结果是否是正确的. 2.结对编程对象:晏蜀杰,博客地址:http://www.cnblogs.com/ysjwj320/ 3双方贡献度: 1:2 4.结对编程照片: 5.源程序代码: MyExpression.java package com.yanshujie.calculator; import java.util.Map; public interface MyExpression {

软件工程项目之二:结对编程——四则运算生成计算程序

0x01 :简介 本次的编程任务是完成一个具有UI界面的,具备四则运算生成.计算.判断对错功能的程序.本次程序使用C#语言编写,用时为2周. 0x02 :软件工程和PSP表格记录 PSP 2.1 Persinal Software Process Stages Time(Estimated) Time(Real) Planning 计划     Estimate 估计这个任务需要多少时间 24h 36h Development 开发     Analysis 需求分析(包括学习新技术) 8~10

【week2】结对编程-四则运算 及感想

首先我要说一下,我得作业我尽力了,但是能力有限,还需练习. 四则运算,改进代码流程: 1.手动输入算式(属于中缀表达式) 2.将中缀表达式转化成后缀表达式 生成out数组 3.一个操作数栈,一个运算符栈,按照后缀表达式计算方法将out中的字符分别放入两个栈 4.当操作数栈只有一个数时结束计算. 代码分段解析如下: 中缀变后缀: public List<String> SolveOrder(String[] in,HashMap<String,Integer>precedence){

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

项目名称:结对编程——四则运算(GUI) 同学小伙伴:张富彬 博客园地址:http://www.cnblogs.com/legend07/ GitHub代码地址:https://github.com/8561549/Arithmetic2.0/tree/master/Arithmetic2.0 需求分析: 首先是实现GUI的界面设计,主要有两个窗体,一个窗体进行参数设计,另一个窗体负责显示题目.两个窗体之间实现自由跳转.在参数设置窗口可以获取各个控件中的信息,能对出题窗口的出题情况进行限制,其中