菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
116
0

四则运算

原创
05/13 14:22
阅读数 94206

题目描述:

1.除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

2.运算符为 +, −, ×, ÷

3.并且要求能处理用户的输入,并判断对错,打分统计正确率。

4.要求能处理用户输入的真分数, 如 1/2, 5/12 等

5.使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 1

需求分析:

1.四则运算

2.生成分数运算

3.用户自定义题目数量

4.判断答案是否正确

5.给出正确率

设计实现

确地题目数量,给出运算式子,给出答案判断,在报出正确率

 插入代码

import java.util.*;
public class wang {
    public static String yuefen(int a,int b){
        int y = 1;
        for(int i=a;i>=1;i--){
            if(a%i==0&&b%i==0){
                y = i;
                break;
            }
        }
        int z = a/y;
        int m = b/y;
        if(z==0) {
            return "0";
        }
        return ""+z+"/"+m;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int y,i,a1;
        int d1=0;
        String d = null;
        int M,Z;
        Scanner scan2=new Scanner(System.in);
        int x1,x2,m1,m2;
        int a=0,b=0;
                int g=Integer.parseInt(args[0]);
        for(i=0;i<g;i++){
            m1=1+(int)(Math.random()*9);
            x1=1+(int)(Math.random()*9);
            m2=1+(int)(Math.random()*9);
            x2=1+(int)(Math.random()*9);
            int c=(int)(Math.random()*3);
            if(c==0){
                Z=x1*m2+x2*m1;
                M=m1*m2;
                d=yuefen(Z,M);
                System.out.println(x1+"/"+m1+"+"+x2+"/"+m2+"=       ");
            }
            if(c==1){
                Z=x1*m2-x2*m1;
                M=m1*m2;
                d=yuefen(Z,M);
                System.out.println(x1+"/"+m1+"-"+x2+"/"+m2+"=       ");
            }
            if(c==2){
                Z=x1*x2;
                M=m1*m2;
                d=d=yuefen(Z,M);
                System.out.println(x1+"/"+m1+"*"+x2+"/"+m2+"=       ");
            }
            if(c==3){
                Z=m1*x2;
                M=m2*x1;
                d=d=yuefen(Z,M);
                System.out.println(x1+"/"+m1+"/"+x2+"/"+m2+"=       ");
            }
            if((i+1)%3==0){
                System.out.println();
            }
            System.out.println("请输入答案");
            String l=scan2.next();
            if(l.equals(d)){
                System.out.println("答案正确");
                a=a+1;
            }else{
                System.out.println("答案不正确");
                System.out.println(d);
                b=b+1;
            }
        }
        System.out.println("你做对了"+a+"题目");
        System.out.println("你做错了"+b+"题目");
    }
}

实验测试

 

psp

 

     
   
Personal Software Process Stages Time (%) Senior Student Time (%)
Planning 计划 8 5
· Estimate 估计这个任务需要多少时间 8 6
Development 开发 82 89
· Analysis 需求分析 (包括学习新技术) 6 10
· Design Spec 生成设计文档 5 5
· Design Review 设计复审 4 6
· Coding Standard 代码规范 3 3
· Design 具体设计 10 12
· Coding 具体编码 36 33
· Code Review 代码复审 7 9
· Test 测试(自我测试,修改代码,提交修改) 13 25
Reporting 报告 9 6
· 测试报告 3 2
· 计算工作量 2 1
·

     
     
     
     
     
     
     
     

总结

记过本次实验发现了本人编程方面十分差劲,老师给的要求完成的很困难,还要求助他人,确实很难受,因为编程方面的基础较差,自己对真分数一块确实不会写,在舍友的帮助下完成的实验。意识到自己编程不足,应该好好加油学号编程。

 

发表评论

0/200
116 点赞
0 评论
收藏