您现在的位置是:主页 > news > 瑞丽企业网站建设/如何做平台推广赚钱

瑞丽企业网站建设/如何做平台推广赚钱

admin2025/5/30 7:52:48news

简介瑞丽企业网站建设,如何做平台推广赚钱,网站建设及运维合同,公司网站高端网站建设结对作业 题目要求 能够自动生成四则运算练习题可以定制题目数量用户可以选择运算符用户设置最大数(如十以内、百以内等)用户选择是否有括号、是否有小数用户选择输出方式(如输出到文件、打印机等)最好能提供图形用户界面&#xf…

瑞丽企业网站建设,如何做平台推广赚钱,网站建设及运维合同,公司网站高端网站建设结对作业 题目要求 能够自动生成四则运算练习题可以定制题目数量用户可以选择运算符用户设置最大数(如十以内、百以内等)用户选择是否有括号、是否有小数用户选择输出方式(如输出到文件、打印机等)最好能提供图形用户界面&#xf…

结对作业

题目要求

  1. 能够自动生成四则运算练习题
  2. 可以定制题目数量
  3. 用户可以选择运算符
  4. 用户设置最大数(如十以内、百以内等)
  5. 用户选择是否有括号、是否有小数
  6. 用户选择输出方式(如输出到文件、打印机等)
  7. 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

角色扮演

经过我和我的伙伴商量我们决定如下:

驾驶员:刘亚(本人)

领航员:江民亮
图形界面用Android 开发
三个界面:1.用户选择界面。2.题目界面。 3. 用户做题后正确率显示界面
app名字叫“成长小学生”

功能一:设置

根据用户选择可以定制题目数量,运算符,最大数,是否有括号和小数

1345586-20180417192821166-1678826715.jpg

功能二:出题

由于是面对手机用户开发的(界面比较小)所以我们决定每次只出10道题目,如果用户想再继续做题,我们在屏幕下方设置两个按钮,“再来10道题”界面就可以刷新再出10道题,如果觉得做够了,点击“就这样吧”即可结束。

1345586-20180417192833701-1595367030.jpg

功能三:计算并显示正确率

当用户点击“就这样吧”的时候会出现次界面,会反馈出给用户鼓励的话和成绩

1345586-20180417192844786-682098606.jpg

核心代码

主要分为两个函数Formula(){}(产生运算式的函数),Calculate(String eq){}(计算等式的函数),


public void Formula(){//等式int number=0;int i=1;int symbol=0;String ch ="";while(i<=count){number=rand.nextInt(maxValue);char c=equation.charAt(equation.length()-1);if(c=='/'){ //判断除号后面是否为0,是则置为1number=1;}symbol=rand.nextInt(4);//[0,4)的随机整数数switch (symbol){case 0:  ch="+"; break;case 1:  ch="-"; break;case 2:  ch="*"; break;case 3:  ch="/"; break;}if(i!=count){/*char c=equation.charAt(equation.length()-1);System.out.println(c);if(c!='+' && c!='-' && c!='*' && c!='/')*/boolean y=false;y=ProduceFirstBrackets(i);if(Decimal){equation+=number/10.0;}else{equation+=number;}if(y==false)ProduceLastBrackets(i);equation+=ch;}else{//是否为小数if(Decimal){equation+=number/10.0;}else{equation+=number;}ProduceLastBrackets(i);}i++;}equation+="=";equation=equation.trim();String test="3+2*5=";System.out.println("结果:"+test);System.out.println(Calculate(test));System.out.println("结果:"+equation);System.out.println(Calculate(equation));}public boolean ProduceFirstBrackets(int i){ // 产生左括号boolean yes=false;int ran=rand.nextInt(4);switch(ran){case 1: {equation+="("; yes=true; bracketNum++;  break;}}return yes;}public void ProduceLastBrackets(int i){   // 产生右括号if(i==count && bracketNum>0){for(int j=0;j<bracketNum;j++){equation+=")";}}else{int ran=rand.nextInt(3);switch(ran){case 1: {if(i!=1 && bracketNum>0){equation+=")"; bracketNum--;break;}else{break;}}}}}

计算函数优先级(,*,/,+,-,)

public Double Calculate(String eq){numberStack=new Stack<Double>();symbolStack=new Stack<Character>();//初始化栈//eq=removeStrSpace(eq);StringBuffer temp=new StringBuffer();for(int i=0;i<eq.length();i++){char ch=eq.charAt(i);if(isNumber(ch)){temp.append(ch);}else{String tempStr=temp.toString();if(!tempStr.isEmpty()){Double num =Double.parseDouble(tempStr); //将字符串转换为小数numberStack.push(num); //数字进栈temp =new StringBuffer();//重置数字缓存}while(!comparePri(ch) && !symbolStack.empty()){Double b=numberStack.pop();Double a=numberStack.pop();switch((char)symbolStack.pop()){case '+': numberStack.push(a+b); break;case '-':numberStack.push(a-b); break;case '*':numberStack.push(a*b); break;case '/':numberStack.push(a/b); break; //需要判断b是否为0,default:break;}}if(ch!='='){symbolStack.push(new Character(ch)); //符号入栈if(ch == ')'){//去掉括号symbolStack.pop();symbolStack.pop();}}else if(!numberStack.empty()){while(true){  //不加这步就算不出2+3*5= Double b=numberStack.pop();if(numberStack.empty()){return b;}Double a=numberStack.pop();switch((char)symbolStack.pop()){case '+': numberStack.push(a+b); break;case '-':numberStack.push(a-b); break;case '*':numberStack.push(a*b); break;case '/':numberStack.push(a/b); break; //需要判断b是否为0,default:break;}}}}}return numberStack.pop();}private boolean comparePri(char ch) {// TODO Auto-generated method stubif(symbolStack.empty()){return true;}char top=(char)symbolStack.peek();//查看栈顶元素if(top=='('){return true;}switch(ch){case '(': return true;case '*': {if(top== '+' || top=='-'){return true;}else{return false;}}case '/': {if(top== '+' || top=='-'){return true;}else{return false;}}case '+': return false;case '-': return false;case ')': return false;default:break;}return true;}private boolean isNumber(char ch) {// TODO Auto-generated method stubif(ch>='0' && ch<='9' || ch=='.'){return true;}return false;}

总结
由于时间关系,没有来的急对界面进行优化,还有功能一有一个传参数值的bug一直没有调试好,还有在计算的时候经过领航员长时间的调试基本没有计算错的了,谈谈我们的领航员吧,结对讲究的就是合作吧,开始开发之前我们一起讨论,怎么写界面,怎么添加功能,考虑除0的情况,在写计算函数的时候我们讨论如何考虑优先级,决定用栈来写,代码全部由我完成,所以我们还是合作愉快的。快要接近截止时间了,能力有限,只能做到此了。

要看全部代码戳这里

转载于:https://www.cnblogs.com/liu-ya/p/8869321.html