四则运算APP最后阶段
四则运算APP最后阶段
【开发环境】:eclipse
【开发项目】:小学生四则运算APP
【开发人员】:郑胜斌 http://www.cnblogs.com/zsb1/
孔德颖 http://www.cnblogs.com/kong21/
李豌湄 http://www.cnblogs.com/leewanmei/
江丹仪 http://www.cnblogs.com/JDY64/
【Github】:https://github.com/zhengshengbin/sizeyunsuan
在最后阶段中,我们对APP出题部分进行修改,例如把*号改为×,/号改为÷,这样会跟加直观。另外在初级的出题上也进行了修改,不会出现很难解答的题目。然后在提交答案后,我们对提交答案部分进行了判断,若提交的答案是错的,就会显示红色。修改的代码和截图如下:
package com.de.sizhe;import java.math.RoundingMode; import java.text.DecimalFormat; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; import android.app.Activity; import android.content.Intent;public class ChujiActivity extends Activity {private TableLayout tableLayout;private TextView tv1;private Button b1;private int count=0;private int t=0;static DecimalFormat decimal = new DecimalFormat("#.##");private Handler handler=new Handler();private Runnable runnable=new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stub++t;tv1.setText("时间:"+String.valueOf(t));handler.postDelayed(runnable, 1000);}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_tgaoji);handler.postDelayed(runnable, 1000);final Intent intent1=new Intent(ChujiActivity.this,TDeFenActivity.class);tableLayout=(TableLayout) findViewById(R.id.GTab);b1=(Button) findViewById(R.id.b1);tv1=(TextView) findViewById(R.id.shijian);Intent intent=getIntent();Bundle bundle=intent.getExtras();count=bundle.getInt("tishu");//获取题目数量 String str1 = new String(); //题目final String s[] = new String[count]; //题目数组final String[] str=new String[count]; //用户输入的答案数组final String[] bjanswer = new String[count];// 标准答案int[] num1 = new int[4]; //计算的各个数值final EditText[] answer=new EditText[count];TextView[] show=new TextView[count];for(int i=0;i<count;i++){int n=2;//4个操作数char[] op = { '+', '-', '×', '÷' };int[] no = new int[4];int cs;// 正负参数 TableRow tableRow=new TableRow(this);show[i]=new TextView(this);answer[i]=new EditText(this);tableRow.addView(show[i]);tableRow.addView(answer[i]);for (int j = 0; j < n; j++) {cs = (int) (Math.random() * 2);if (cs == 0)// 负数num1[j] = -(int) (Math.random() * 10);// 控制随机数数值else// 正数num1[j] = (int) (Math.random() * 10);// 控制随机数数值 }for (int k = 0; k < n - 1; k++) {no[k] = (int) (Math.random() * 4);// 随机产生操作符if (no[k] == 3 && num1[k + 1] == 0) {do {num1[k + 1] = (int) (Math.random() * 100);// 如果除号后为0,则重新取数。} while (num1[k + 1] == 0);}}for (int h = 0; h < n; h++) {if (h != n - 1){if (num1[h] < 0)str1 = str1 +" (" + String.valueOf(num1[h])+")" + String.valueOf(op[no[h]]);elsestr1 = str1 +" "+ String.valueOf(num1[h])+ String.valueOf(op[no[h]]);} else{if (num1[h] < 0)str1 = str1 +" (" + String.valueOf(num1[h]) +")=";elsestr1 = str1+" " + String.valueOf(num1[h]) + "=";}}s[i] = str1;str1 = new String();// 计算标准答案int sign; // 累加运算时的符号float left, right;// 保存蹭结果 decimal.setRoundingMode(RoundingMode.HALF_UP);left = 0;right = num1[0];sign = 1;for (int g = 0; g < n - 1; g++){switch (op[no[g]]){case '+':left = left + sign * right;sign = 1;right = num1[g + 1];break;case '-':left = left + sign * right;sign = -1;right = num1[g + 1];break;case '×':right = right * num1[g + 1];break;case '÷':right = right / num1[g + 1];break;}}bjanswer[i] = String.valueOf(decimal.format(left + sign * right));show[i].setText(s[i]);show[i].setTextSize(18);answer[i].setEms(5);answer[i].setId(i);tableLayout.addView(tableRow);}b1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfor(int i=0;i<count;i++){str[i]=answer[i].getText().toString(); //用户输入的答案数组 }Bundle bundle=new Bundle();bundle.putStringArray("timu", s);bundle.putStringArray("useranswer", str);bundle.putStringArray("bjanswer", bjanswer);bundle.putInt("Ttishu", count);bundle.putString("shijian", String.valueOf(t));intent1.putExtras(bundle);startActivity(intent1); handler.removeCallbacks(runnable);finish();}});}}
chujiActivity
package com.de.sizhe;import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView;public class TDeFenActivity extends Activity {private Button cxbtn,tcbtn;private TableLayout dtab1;private TextView textView;private int count=0;private String sj=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_tde_fen); dtab1=(TableLayout) findViewById(R.id.DTab1);cxbtn=(Button) findViewById(R.id.chongxin);tcbtn=(Button) findViewById(R.id.tuichu);textView=(TextView) findViewById(R.id.showtime);Intent intent=getIntent();Bundle bundle=intent.getExtras();count=bundle.getInt("Ttishu");String[] sty=new String[count];String[] stb=new String[count];String[] stimu=new String[count];sty=bundle.getStringArray("useranswer");stb=bundle.getStringArray("bjanswer");sj=bundle.getString("shijian");stimu=bundle.getStringArray("timu");textView.setText("完成时间为:"+sj+"s");int tn=(count+1)*3;TextView[] Tshow=new TextView[tn];TableRow tableRow=new TableRow(this);Tshow[0]=new TextView(this);Tshow[1]=new TextView(this);Tshow[2]=new TextView(this);Tshow[0].setText(" 题目");Tshow[1].setText(" 你的答案");Tshow[2].setText(" 正确答案");tableRow.addView(Tshow[0]);tableRow.addView(Tshow[1]);tableRow.addView(Tshow[2]);dtab1.addView(tableRow);for(int i=0;i<count;i++){TableRow tableRow1=new TableRow(this);Tshow[(i+1)*3]=new TextView(this);Tshow[(i+1)*3+1]=new TextView(this);Tshow[(i+1)*3+2]=new TextView(this);tableRow1.addView(Tshow[(i+1)*3]);tableRow1.addView(Tshow[(i+1)*3+1]);tableRow1.addView(Tshow[(i+1)*3+2]);if(sty[i].equals(stb[i])){Tshow[(i+1)*3].setText(stimu[i]);Tshow[(i+1)*3+1].setText(sty[i]);Tshow[(i+1)*3+1].setGravity(Gravity.RIGHT);Tshow[(i+1)*3+2].setText(stb[i]);Tshow[(i+1)*3+2].setGravity(Gravity.RIGHT);}else{Tshow[(i+1)*3].setText(stimu[i]);Tshow[(i+1)*3+1].setText(sty[i]);Tshow[(i+1)*3+1].setGravity(Gravity.RIGHT);Tshow[(i+1)*3+1].setTextColor(Color.RED);Tshow[(i+1)*3+2].setText(stb[i]);Tshow[(i+1)*3+2].setGravity(Gravity.RIGHT);}dtab1.addView(tableRow1);}cxbtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent intent=new Intent(TDeFenActivity.this,TixingActivity.class);startActivity(intent);finish();}});tcbtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub finish();}});}}
TDeFenActivity
转载于:https://www.cnblogs.com/zsb1/p/5055276.html
四则运算APP最后阶段相关推荐
- 数学战神app(小学生四则运算app)进度
背景音乐仍有瑕疵,还在完善,不过大概完成,完善按钮声音,提示音等. 许家豪:负责代码程序设计 陈思明:界面背景美化 吴旭涛.王宏财:查缺补漏 转载于:https://www.cnblogs.com/z ...
- 四则运算java_小学生四则运算JAVA
组员:黄浩格,何坤 一.项目说明 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自然数:0, 1, 2, -. • 真分数:1/2, 1/3, 2/3, 1/4, 1'1/2, - ...
- python读取文件特定内容_python读取指定内存的内容
Beta阶段项目终审报告 先上图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是用来解决玩狼人杀这款桌游时无牌.无法官.游戏流程不熟悉 ...
- [团队项目3.0]Scrum团队成立
Scrum团队成立 5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 产品负责人: 决定开发内容和优先级排序,最大化产品以及开发团队工作的价值. Scrum M ...
- 13商软 《软件工程》课程设计
广州商学院 计算机系 系(部) 2015 - 2016 学年第(1)学期 <软件工程>课程设计 一.课程简介及基本要求 软件工程是一门指导软件开发和维护的工程学科,主要内容包括:软件项目管 ...
- linux c open flush,ctrl+c以及写操作失败和flush
.kill命令可以带信号号码选项,也可以不带.如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源.也可以用kill向进程发送特定的信号 ...
- linux 创建文件 permission denied,mac linux 创建文件 Permission denied
jquery判断起止时间大小和非空 //时间判断 function CheckDate() { var startTime = $('#txtTime').val(); //获取当前日期 var st ...
- 0428-Scrum团队成立
------------------------------3.0------------------------------------------ 一.项目要求 5.Scrum团队成立 5.1 团 ...
- 第三个Sprint ------第十一天
四则运算APP推广: 1通过微信公众平台推广APP,写一片软文,然后推送出去.分享朋友圈.QQ空间. 2通过微博推广APP,@各微博大户. 3让之前内侧的同学转发给自己的小弟小妹或者侄女侄子! 总结: ...
最新文章
- shap_value
- 鸡啄米vc++2010系列11(非模态对话框的创建)
- Flutter学习记录(一、Flutter环境搭建)
- java string isempty,java – String.isEmpty()和String.equals(“”)之间的区别
- 票根不符合目标服务_谷歌优化怎么收费?教你选择高性价比的SEO服务!
- 数学--数论--因子和线性筛 (模板)
- mysql error 变量_mysql 变量问题
- 1415C. Bouncing Ball
- eclipse error
- 小孔成像总结_初中物理解题技巧+方法总结,初二初三都要看看!
- 【SQL】查询数据库中某个字段有重复值出现的信息
- 杨建:网站加速--系统架构篇
- 云计算的服务:Iass,Pass,Sass,Cass,Pass 区别及应用
- abaqus的python安装文件在哪_Abaqus2016安装教程【附软件下载地址】
- 求长方形和正方形的面积
- 第三阶段应用层——1.12 数码相册—interval_page设置时间间隔界面的显存管理、页面规划、输入控制
- Windows 2016 服务器安全配置
- 人一生要读的60本书(经典读书计划)
- 【Unity使用UGUI实现王者荣耀UI界面(四)】游戏开始界面
- iOS年月日、时分秒选择器