四则运算
题目描述:
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
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
总结
记过本次实验发现了本人编程方面十分差劲,老师给的要求完成的很困难,还要求助他人,确实很难受,因为编程方面的基础较差,自己对真分数一块确实不会写,在舍友的帮助下完成的实验。意识到自己编程不足,应该好好加油学号编程。