四则运算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最后阶段相关推荐

  1. 数学战神app(小学生四则运算app)进度

    背景音乐仍有瑕疵,还在完善,不过大概完成,完善按钮声音,提示音等. 许家豪:负责代码程序设计 陈思明:界面背景美化 吴旭涛.王宏财:查缺补漏 转载于:https://www.cnblogs.com/z ...

  2. 四则运算java_小学生四则运算JAVA

    组员:黄浩格,何坤 一.项目说明 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自然数:0, 1, 2, -. • 真分数:1/2, 1/3, 2/3, 1/4, 1'1/2, - ...

  3. python读取文件特定内容_python读取指定内存的内容

    Beta阶段项目终审报告 先上图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是用来解决玩狼人杀这款桌游时无牌.无法官.游戏流程不熟悉 ...

  4. [团队项目3.0]Scrum团队成立

    Scrum团队成立 5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 产品负责人: 决定开发内容和优先级排序,最大化产品以及开发团队工作的价值. Scrum M ...

  5. 13商软 《软件工程》课程设计

    广州商学院 计算机系 系(部) 2015 - 2016 学年第(1)学期 <软件工程>课程设计 一.课程简介及基本要求 软件工程是一门指导软件开发和维护的工程学科,主要内容包括:软件项目管 ...

  6. linux c open flush,ctrl+c以及写操作失败和flush

    .kill命令可以带信号号码选项,也可以不带.如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源.也可以用kill向进程发送特定的信号 ...

  7. linux 创建文件 permission denied,mac linux 创建文件 Permission denied

    jquery判断起止时间大小和非空 //时间判断 function CheckDate() { var startTime = $('#txtTime').val(); //获取当前日期 var st ...

  8. 0428-Scrum团队成立

    ------------------------------3.0------------------------------------------ 一.项目要求 5.Scrum团队成立 5.1 团 ...

  9. 第三个Sprint ------第十一天

    四则运算APP推广: 1通过微信公众平台推广APP,写一片软文,然后推送出去.分享朋友圈.QQ空间. 2通过微博推广APP,@各微博大户. 3让之前内侧的同学转发给自己的小弟小妹或者侄女侄子! 总结: ...

最新文章

  1. shap_value
  2. 鸡啄米vc++2010系列11(非模态对话框的创建)
  3. Flutter学习记录(一、Flutter环境搭建)
  4. java string isempty,java – String.isEmpty()和String.equals(“”)之间的区别
  5. 票根不符合目标服务_谷歌优化怎么收费?教你选择高性价比的SEO服务!
  6. 数学--数论--因子和线性筛 (模板)
  7. mysql error 变量_mysql 变量问题
  8. 1415C. Bouncing Ball
  9. eclipse error
  10. 小孔成像总结_初中物理解题技巧+方法总结,初二初三都要看看!
  11. 【SQL】查询数据库中某个字段有重复值出现的信息
  12. 杨建:网站加速--系统架构篇
  13. 云计算的服务:Iass,Pass,Sass,Cass,Pass 区别及应用
  14. abaqus的python安装文件在哪_Abaqus2016安装教程【附软件下载地址】
  15. 求长方形和正方形的面积
  16. 第三阶段应用层——1.12 数码相册—interval_page设置时间间隔界面的显存管理、页面规划、输入控制
  17. Windows 2016 服务器安全配置
  18. 人一生要读的60本书(经典读书计划)
  19. 【Unity使用UGUI实现王者荣耀UI界面(四)】游戏开始界面
  20. iOS年月日、时分秒选择器

热门文章

  1. windows ubuntu Android studio安装好启动没反应解决方法
  2. 基于移动设备的Wifi开发组件
  3. 利用vs.net快速开发windows服务(总结)
  4. 单链表倒数第K个节点的查找和显示
  5. java Reference
  6. HtmlUnit采集页面信息加工并写入excel表
  7. MapReduce基础开发之八HDFS文件CRUD操作
  8. Mybatis分页插件PageInfo
  9. 透彻理解块级元素的宽度
  10. windows 关闭粘滞键-解决Microsoft Remote Desktop输入自动变为快捷键问题