主要完成功能:在用户指定最多的运算符个数后,该程序能够随机生成在指定个数以内的四册运算式(包括+,-,*,/,(,),真分数等),在用户输入答案后,程序能够计算随机生成的运算式得到结果,然后与用户输入的结果进行比对,并判断对错与记录用户得分。界面与运行结果为(在出题时真分数用&a ...
主要完成功能:在用户指定最多的运算符个数后,该程序能够随机生成在指定个数以内的四册运算式(包括+,-,*,/,(,),真分数等),在用户输入答案后,程序能够计算随机生成的运算式得到结果,然后与用户输入的结果进行比对,并判断对错与记录用户得分。
界面与运行结果为(在出题时真分数用“()”括起来):
该项目文件的结构如图:
其中Calculation.java的代码为:
1 package ljf; 2 3 public class Calculation { 4 //判断是否为数字 5 public static boolean isNumber(char ch){ 6 switch (ch) { 7 case '+':return false; 8 case '-':return false; 9 case '*':return false;10 case '/':return false;11 default:12 return true;13 }14 }15 16 public static Fraction cal(String str){17 Stack<Fraction> stack=new Stack<Fraction>(20);18 FractionCalculation fc=new FractionCalculation();19 String[] array=MidToPosT.Change(str);20 int i=0;21 Fraction fa,fb;22 char op;23 while(!array[i].equals("#")){24 //是数字25 if(isNumber(array[i].charAt(0))){26 //化成分数进栈27 stack.push(new Fraction(Integer.parseInt(array[i++]), 1));28 }else{29 fb=stack.pop();30 fa=stack.pop();31 op=array[i++].charAt(0);32 fa=fc.fraccalculate(fa, op, fb);33 stack.push(fa);34 }35 }36 fa=stack.getTop();37 return fa;38 }39 }
原标题:现代软件工程_第一周练习_第1题_更新版
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。