组长:李咏江,组员:叶煜稳,谢洪跃,周伟雄
第二个阶段已经结束,我们团队基本完成了对四则运算的开发,但是对于我们四则运算还没有调查用户的情况,在第三阶段我们会对我们的产品进行调查问卷和改善,以确保更加的完美!
重要代码如下:
主要布局:
package com.example.dazuoye; import android.app.ActionBar; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private Button btn1; private Button btn2; private Button btn3; private Button btn4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button)findViewById(R.id.button1); btn2=(Button)findViewById(R.id.button2); btn3=(Button)findViewById(R.id.button3); btn4=(Button)findViewById(R.id.button4); ActionBar actionBar = getActionBar();//获取ActionBar对象 actionBar.setDisplayShowHomeEnabled(true);//显示应用程序图标 actionBar.setDisplayHomeAsUpEnabled(true); btn1.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { Intent intent=new Intent(); intent.setClass(MainActivity.this,Jiandan.class); startActivity(intent); MainActivity.this.finish(); } }); btn2.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { } }); btn3.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { Intent intent1=new Intent(); intent1.setClass(MainActivity.this,kunan.class); startActivity(intent1); MainActivity.this.finish(); } }); btn4.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { System.exit(0); } }); } public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.help: /* Intent intent1=new Intent(this,Help.class); startActivity(intent1);*/ break; case R.id.newgame: // Intent intent2=new Intent(this,New_Game.class); // startActivity(intent2); break; case R.id.about: // Intent intent3=new Intent(this,About.class); // startActivity(intent3); break; case android.R.id.home: //创建启动MainActivity的Intent Intent intent=new Intent(this,MainActivity.class); //添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); break; default: break; } return super.onOptionsItemSelected(item); } public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub MenuInflater inflater = new MenuInflater(this); inflater.inflate(R.menu.main, menu); return super.onCreateOptionsMenu(menu); } }
简单算法:
package Szys; public class Szys { public double e,d; double b; public double result; public int a1; public char f; public Szys(double e,double d,int a1) { this.e=e; this.d=d; this.a1=a1; } public void setnumber(int e,int d,int a1) { this.e=e; this.d=d; this.a1=a1; } public void seta1(int a1){this.a1=a1;} public double gete(){return e;} public double getd(){return d;} public char getf(){ switch(a1) { case 1: f=‘+‘;break; case 2: f=‘-‘;break; case 3: f=‘*‘;break; case 4: f=‘/‘;break; default: break; } return f; } public double b() { switch(a1) { case 1: b=e+d;break; case 2: b=e-d;break; case 3: b=e*d;break; case 4: b=e/d;break; } // TODO Auto-generated method stub return b; } } package com.example.dazuoye; import Szys.Szys; import android.annotation.SuppressLint; import android.app.ActionBar; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class Jiandan extends Activity { private EditText tv1; private TextView tv2; private Button btn1,btn2; int i=0,b=0; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.jiandan); tv1=(EditText) findViewById(R.id.editText1); tv2=(TextView) findViewById(R.id.textView2); btn1=(Button) findViewById(R.id.button1); btn2=(Button) findViewById(R.id.button2); ActionBar actionBar = getActionBar();//获取ActionBar对象 actionBar.setDisplayShowHomeEnabled(true);//显示应用程序图标 actionBar.setDisplayHomeAsUpEnabled(true); final Szys []binder=new Szys[10]; for(int a=0;a<10;a++) binder[a]=new Szys((double)((int)(Math.random()*10000))/100,(double)((int)(Math.random()*10000))/100,(int)(Math.random()*3+1)); tv2.setText(String.valueOf(binder[b].gete())+binder[b].getf()+String.valueOf(binder[b].getd())+"="); btn2.setOnClickListener(new View.OnClickListener() { @SuppressLint("ResourceAsColor") public void onClick(View arg0) { tv1.getText().toString(); if(String.valueOf(binder[b].b()).equals(tv1.getText().toString())==true) { i++; Toast.makeText(Jiandan.this, "恭喜你答对了", Toast.LENGTH_LONG).show(); } else { tv2.setBackgroundColor(R.color.red); Toast.makeText(Jiandan.this, "很遗憾。你答错了", Toast.LENGTH_LONG).show(); } } }); btn1.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { if(b<8) { b++; tv2.setBackgroundColor(getResources().getColor(android.R.color.white)); tv2.setText(String.valueOf(binder[b].gete())+binder[b].getf()+String.valueOf(binder[b].getd())+"="+String.valueOf(binder[i].b())); tv1.setText(null); } else if(b==8) { b++; tv2.setText(String.valueOf(binder[b].gete())+binder[b].getf()+String.valueOf(binder[b].getd())+"="+String.valueOf(binder[i].b())); btn1.setText("关闭"); } } }); } public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.help: // Intent intent1=new Intent(this,Help.class); // startActivity(intent1); break; case R.id.newgame: // Intent intent2=new Intent(this,New_Game.class); // startActivity(intent2); break; case R.id.about: // Intent intent3=new Intent(this,About.class); // startActivity(intent3); break; case android.R.id.home: //创建启动MainActivity的Intent Intent intent=new Intent(this,MainActivity.class); //添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); break; default: break; } return super.onOptionsItemSelected(item); } }
中等算法
public class MainActivity extends Activity implements OnClickListener{ private int num1=0,num2=0,num3,result,resultTure; int trueNum,falseNum; private Button btn_star,btn_next,btn_QD,btn_end; private EditText text; //输入答案 private TextView textView; //题目 private TextView textViewtip; //提示 Core core=new Core(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_star=(Button) findViewById(R.id.button1); btn_star.setOnClickListener(this); btn_next=(Button) findViewById(R.id.button2); btn_next.setOnClickListener(this); btn_QD=(Button) findViewById(R.id.button3); btn_QD.setOnClickListener(this); btn_end=(Button) findViewById(R.id.button4); btn_end.setOnClickListener(this); text=(EditText) findViewById(R.id.editText1); textView=(TextView) findViewById(R.id.textView5); textViewtip=(TextView) findViewById(R.id.textView3); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: btn_star.setText("重新开始"); text.setText(null); trueNum=0; falseNum=0; Count(); break; case R.id.button2: text.setText(null); textViewtip.setText(null); Count(); break; case R.id.button3: checkout(resultTure); break; case R.id.button4: ending( ); break; } } public void Count() { num1=(int)(Math.random()*10); num2=(int)(Math.random()*10+1); num3=(int)(Math.random()*10+2); int i=0; char[]h={‘+‘,‘-‘,‘*‘,‘/‘}; i=(int)(Math.random()*4); textView.setText(" "+num1+""+h[i]+""+num2+h[i]+""+num3+"="); switch (i) { case 0: resultTure=core.Add(num1, num2,num3); break; case 1: resultTure=core.Subtraction(num1, num2,num3); break; case 2: resultTure=core.multiplication(num1, num2,num3); break; case 3: resultTure=core.Division(num1, num2,num3); break; } } public void checkout(int resultTure) { String str=this.text.getText().toString(); boolean isAllDigit = true;//定义一个boolean值,用来表示是否包含其他字符 for(int i=0 ;i<str.length(); i++)//循环遍历字符串 if(!Character.isDigit(str.charAt(i))){isAllDigit=false;}//用char包装类中的判断数字的方法判断每一个字符 if(isAllDigit) { result=Integer.parseInt(this.text.getText().toString()); if(result==resultTure) { this.textViewtip.setText("答案正确");trueNum++; } else { this.textViewtip.setText("错误,正确答案是:"+this.resultTure);falseNum++; } } else this.textViewtip.setText("输入有误!!"); } public void ending() { if(trueNum==0&&falseNum==0)this.textViewtip.setText("你还没开始答题呢!"); else { double a,b;a=trueNum;b=falseNum; this.textViewtip.setText("共答对"+trueNum+"题,答错"+falseNum+"题\n正确率为:"+a/(a+b)*100+"%"); } } } package activity; import java.math.*; public class Core { public int Add(int a,int b,int c)//加法 { return a+b+c; } public int Subtraction(int a,int b,int c)//减法 { return a-b-c; } public int multiplication(int a,int b,int c)//减法 { return a*b*c; } public int Division(int a,int b,int c)//除法 { return a/b/c; } }
困难算法
package Szys; public class Szys1 { public double a,b,c,d,e; double b2; public double result; public int a1,b1,c1,d1,b3; public char f,f1,f2; public String str,fe1,fe2; double fen1,fen2; public Szys1(double a,double e,double g,double h,int a1,int b1,int c1,int d1) { this.c=g; this.d=h; this.a=a; this.b=e; this.a1=a1; this.b1=b1; this.c1=c1; this.d1=d1; } public double geta(){return a;} public double getb(){return b;} public double getc(){return c;} public double getd(){return d;} public char getf(){ switch(a1) { case 1: f=‘+‘;break; case 2: f=‘-‘;break; case 3: f=‘*‘;break; case 4: f=‘/‘;break; default: break; } return f; } public char getf1(){ switch(b1) { case 1: f1=‘+‘;break; case 2: f1=‘-‘;break; case 3: f1=‘*‘;break; case 4: f1=‘/‘;break; default: break; } return f1; } public char getf2(){ switch(c1) { case 1: f2=‘+‘;break; case 2: f2=‘-‘;break; case 3: f2=‘*‘;break; case 4: f2=‘/‘;break; default: break; } return f2; } public double d1(double h1,double h2,int h3) { switch(h3) { case 1: e=h1+h2;break; case 2: e=h1-h2;break; case 3: e=h1*h2;break; case 4: e=h1/h2;break; } // TODO Auto-generated method stub return e; } public double b(){ switch(d1) { case 1: if(b1>2||c1<=2) b2=d1(d1(d1(a,b,a1),c,b1),d,c1); else if(b1<=2&&c1>2) b2=d1(d1(a,b,a1),d1(c,d,c1),b1); break; case 2: if(a1>2||c1<=2) b2=d1(d1(d1(a,b,a1),c,b1),d,c1); else if(a1<=2&&c1>2) b2=d1(d1(a,(d1(b,c,b1)),a1),d,c1); break; case 3: b2=d1(d1(a,b,a1),d1(c,d,c1),b1);break; case 4: if(a1>2||c1<=2) b2=d1(d1(a,d1(b,c,b1),a1),d,c1); else if(a1<=2&&c1>2) b2=d1(a,d1(d1(b,c,b1),d,c1),a1); break; case 5: if(b1>2||c1<=2) b2=d1(a,d1(d1(b,c,b1),d,c1),a1); else if(b1<=2&&c1>2) b2=d1(a,d1(b,d1(c,d,c1),b1),a1); break; case 6: if(a1>2||b1<=2) b2=d1(d1(a,b,a1),d1(c,d,c1),b1); else if(a1<=2&&b1>2) b2=d1(a,d1(b,d1(c,d,c1),b1),a1); break; } // TODO Auto-generated method stub b3=(int)(b2*100); b2=((double)b3/100); return b2; } public double fen1(){ switch(d1) { case 1: fen1=d1(a,b,a1);break; case 2: if(a1>2||c1<=2) fen1=d1(a,b,a1); else if(a1<=2&&c1>2) fen1=d1(b,c,b1); break; case 3: fen1=d1(a,b,a1);break; case 4: fen1=d1(b,c,b1);break; case 5: if(b1>2||c1<=2) fen1=d1(b,c,b1); else if(b1<=2&&c1>2) fen1=d1(c,d,c1); break; case 6: fen1=d1(c,d,c1);break; } return fen1; } public double fen2(){ switch(d1) { case 1: if(b1>2||c1<=2) fen2=d1(d1(a,b,a1),c,b1); else if(b1<=2&&c1>2) fen2=d1(c,d,c1); break; case 2: if(a1>2||c1<=2) fen2=d1(d1(a,b,a1),c,b1); else if(a1<=2&&c1>2) fen2=d1(a,(d1(b,c,b1)),a1); break; case 3: fen2=d1(c,d,c1);break; case 4: if(a1>2||c1<=2) fen2=d1(a,d1(b,c,b1),a1); else if(a1<=2&&c1>2) fen2=d1(d1(b,c,b1),d,c1); break; case 5: if(b1>2||c1<=2) fen2=d1(d1(b,c,b1),d,c1); else if(b1<=2&&c1>2) fen2=d1(b,d1(c,d,c1),b1); break; case 6: fen2=d1(c,d,c1);if(a1>2||b1<=2) fen2=d1(a,b,a1); else if(a1<=2&&b1>2) fen2=d1(b,d1(c,d,c1),b1); break; } return fen2; } public String str(){ switch(d1) { case 1:str="("+String.valueOf(a)+getf()+String.valueOf(b)+")"+getf1()+String.valueOf(c)+getf2()+String.valueOf(d)+‘=‘;break; case 2:str="("+String.valueOf(a)+getf()+String.valueOf(b)+getf1()+String.valueOf(c)+")"+getf2()+String.valueOf(d)+‘=‘;break; case 3:str="("+String.valueOf(a)+getf()+String.valueOf(b)+")"+getf1()+"("+String.valueOf(c)+getf2()+String.valueOf(d)+")"+‘=‘;break; case 4:str=String.valueOf(a)+getf()+"("+String.valueOf(b)+getf1()+String.valueOf(c)+")"+getf2()+String.valueOf(d)+‘=‘;break; case 5:str=String.valueOf(a)+getf()+"("+String.valueOf(b)+getf1()+String.valueOf(c)+getf2()+String.valueOf(d)+")"+‘=‘;break; case 6:str=String.valueOf(a)+getf()+String.valueOf(b)+getf1()+"("+String.valueOf(c)+getf2()+String.valueOf(d)+")"+‘=‘; break; } return str; } public String fe1(){ switch(d1) { case 1:fe1=String.valueOf(a)+getf()+String.valueOf(b)+‘=‘+String.valueOf(fen1());break; case 2:if(a1>2||c1<=2) fe1=String.valueOf(a)+getf()+String.valueOf(b)+‘=‘+String.valueOf(fen1()); else if(a1<=2&&c1>2) fe1=String.valueOf(b)+getf1()+String.valueOf(c)+‘=‘+String.valueOf(fen1()); break; case 3:fe1=String.valueOf(a)+getf()+String.valueOf(b)+‘=‘+String.valueOf(fen1());break; case 4:fe1=String.valueOf(b)+getf1()+String.valueOf(c)+‘=‘+String.valueOf(fen1());break; case 5:if(b1>2||c1<=2) fe1=String.valueOf(b)+getf1()+String.valueOf(c)+‘=‘+String.valueOf(fen1()); else if(b1<=2&&c1>2) fe1=String.valueOf(c)+getf2()+String.valueOf(d)+‘=‘+String.valueOf(fen1()); break; case 6:fe1=String.valueOf(c)+getf2()+String.valueOf(d)+‘=‘+String.valueOf(fen1()); break; } return fe1; } public String fe2(){ switch(d1) { case 1:fe2="("+String.valueOf(a)+getf()+String.valueOf(b)+")"+getf1()+String.valueOf(c)+getf2()+String.valueOf(d)+‘=‘;break; case 2:fe2="("+String.valueOf(a)+getf()+String.valueOf(b)+getf1()+String.valueOf(c)+")"+getf2()+String.valueOf(d)+‘=‘;break; case 3:fe2="("+String.valueOf(a)+getf()+String.valueOf(b)+")"+getf1()+"("+String.valueOf(c)+getf2()+String.valueOf(d)+")"+‘=‘;break; case 4:fe2=String.valueOf(a)+getf()+"("+String.valueOf(b)+getf1()+String.valueOf(c)+")"+getf2()+String.valueOf(d)+‘=‘;break; case 5:fe2=String.valueOf(a)+getf()+"("+String.valueOf(b)+getf1()+String.valueOf(c)+getf2()+String.valueOf(d)+")"+‘=‘;break; case 6:fe2=String.valueOf(a)+getf()+String.valueOf(b)+getf1()+"("+String.valueOf(c)+getf2()+String.valueOf(d)+")"+‘=‘; break; } return fe2; } } package com.example.dazuoye; import Szys.Szys1; import android.app.ActionBar; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class kunan extends Activity { private EditText tv1; private TextView tv2,tv3; private Button btn1,btn2; int i=0,b=0; boolean sh=true; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.kunan); tv1=(EditText) findViewById(R.id.editText1); tv2=(TextView) findViewById(R.id.textView2); tv3=(TextView) findViewById(R.id.textView1); btn1=(Button) findViewById(R.id.button1); btn2=(Button) findViewById(R.id.button2); ActionBar actionBar = getActionBar();//获取ActionBar对象 actionBar.setDisplayShowHomeEnabled(true);//显示应用程序图标 actionBar.setDisplayHomeAsUpEnabled(true); final Szys1 []binder=new Szys1[10]; for(int a=0;a<10;a++) binder[a]=new Szys1((double)((int)(Math.random()*10000))/100,(double)((int)(Math.random()*10000))/100,(double)((int)(Math.random()*10000))/100,(double)((int)(Math.random()*10000))/100,(int)(Math.random()*3+1),(int)(Math.random()*3+1),(int)(Math.random()*3+1),(int)(Math.random()*5+1)); //binder[a]=new Szys1((double)((int)(Math.random()*100)),(double)((int)(Math.random()*100)),(double)((int)(Math.random()*100)),(double)((int)(Math.random()*100)),1,1,1,1); tv2.setText(binder[b].str()); btn1.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { if(sh==true) { tv1.getText().toString(); if(String.valueOf(binder[b].b()).equals(tv1.getText().toString())==true) { i++; Toast.makeText(kunan.this, "恭喜你答对了", Toast.LENGTH_LONG).show(); } else { //tv2.setBackgroundColor(R.color.red); Toast.makeText(kunan.this, "很遗憾。你答错了", Toast.LENGTH_LONG).show(); } sh=false; btn1.setText("下一题"); } else if(sh==false) { if(b==9) { Intent intent=new Intent(); intent.setClass(kunan.this,kunan.class); startActivity(intent); kunan.this.finish(); } else if(b<8) { b++; tv2.setBackgroundColor(getResources().getColor(android.R.color.white)); tv2.setText(binder[b].str()); tv1.setText(null); btn1.setText("提交"); } else if(b==8) { b++; tv2.setText(binder[b].str()); } sh=true; } } }); btn2.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { tv3.setText(""); } }); } public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.help: // Intent intent1=new Intent(this,Help.class); // startActivity(intent1); break; case R.id.newgame: // Intent intent2=new Intent(this,New_Game.class); // startActivity(intent2); break; case R.id.about: // Intent intent3=new Intent(this,About.class); // startActivity(intent3); break; case android.R.id.home: //创建启动MainActivity的Intent Intent intent=new Intent(this,MainActivity.class); //添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); break; default: break; } return super.onOptionsItemSelected(item); } }
截图:
原文:http://www.cnblogs.com/xhy1210/p/5020834.html