你的位置:首页 > 软件开发 > Java > 现代软件工程_第一周练习_第1题_更新版

现代软件工程_第一周练习_第1题_更新版

发布时间:2016-09-11 21:00:12
主要完成功能:在用户指定最多的运算符个数后,该程序能够随机生成在指定个数以内的四册运算式(包括+,-,*,/,(,),真分数等),在用户输入答案后,程序能够计算随机生成的运算式得到结果,然后与用户输入的结果进行比对,并判断对错与记录用户得分。界面与运行结果为(在出题时真分数用&a ...

现代软件工程_第一周练习_第1题_更新版

主要完成功能:在用户指定最多的运算符个数后,该程序能够随机生成在指定个数以内的四册运算式(包括+,-,*,/,(,),真分数等),在用户输入答案后,程序能够计算随机生成的运算式得到结果,然后与用户输入的结果进行比对,并判断对错与记录用户得分。

界面与运行结果为(在出题时真分数用“()”括起来):

现代软件工程_第一周练习_第1题_更新版

 

 

该项目文件的结构如图:

现代软件工程_第一周练习_第1题_更新版

其中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 (#换成@)。

可能感兴趣文章

我的浏览记录