之前的项目需求弄错了,忘记是在APP上重新弄的软件功能,所以在这再发一下。
准备实现的功能
- 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
- 用户答题结束以后,程序可以显示用户答题所用的时间
- 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
- 程序可以出单个整数阶乘的题目:如:4!=24
- 程序可以设置背景功能,可以改变界面的背景即可。
- 用户可以选择在限定时间答题,答题结束可以显示用户答错的题目个数和答对的题目个数
- 用户选择随机产生题目进行答题
- 报错功能
------------------------------------------------------------我是分割线------------------------------------------------------------
经过几天的努力,在许小学生的带领下,在磕磕绊绊的摸索中,终于掏出了产品,也许还有许多功能没有完善,也许还有许多不足的地方,也许还没法
为社会带来福利,也许还没法赚钱是吧。。。这期间经历了许组长的练车不打码,玩游戏不打码,看电视剧不打码,心情不好不打码,反正最后打了码让
我们其他组员非常欣慰,此处应该有掌声!谢谢,谢谢大家的厚爱!
废话不多,送上许小学生的代码及截图:
1 package com.example.ddd; 2 3 import android.support.v7.app.ActionBarActivity; 4 import android.support.v7.app.ActionBar; 5 import android.support.v4.app.Fragment; 6 import android.os.Bundle; 7 import android.view.LayoutInflater; 8 import android.view.Menu; 9 import android.view.MenuItem; 10 import android.view.View; 11 import android.view.View.OnClickListener; 12 import android.view.ViewGroup; 13 import android.widget.*; 14 import android.os.Build; 15 16 public class MainActivity extends ActionBarActivity { 17 18 private Button b1,b2,b3; 19 private TextView[]T=new TextView[9]; 20 private EditText[]E=new EditText[6]; 21 int i,k,n; 22 long begintime,endtime,time; 23 int[]a=new int[5]; 24 int[]b=new int[5]; 25 int[]c=new int[5]; 26 int[]d=new int[5]; 27 int[]answer=new int[5]; 28 29 @Override 30 protected void onCreate(Bundle savedInstanceState) 31 { 32 super.onCreate(savedInstanceState); 33 setContentView(R.layout.activity_main); 34 35 b1=(Button)findViewById(R.id.button1); 36 b2=(Button)findViewById(R.id.button2); 37 b3=(Button)findViewById(R.id.button3); 38 T[0]=(TextView)findViewById(R.id.textView4); 39 T[1]=(TextView)findViewById(R.id.textView6); 40 T[2]=(TextView)findViewById(R.id.textView9); 41 T[3]=(TextView)findViewById(R.id.textView12); 42 T[4]=(TextView)findViewById(R.id.textView15); 43 T[5]=(TextView)findViewById(R.id.textView18); 44 T[6]=(TextView)findViewById(R.id.textView20); 45 T[7]=(TextView)findViewById(R.id.textView22); 46 T[8]=(TextView)findViewById(R.id.textView24); 47 E[0]=(EditText)findViewById(R.id.editText2); 48 E[1]=(EditText)findViewById(R.id.editText3); 49 E[2]=(EditText)findViewById(R.id.editText4); 50 E[3]=(EditText)findViewById(R.id.editText5); 51 E[4]=(EditText)findViewById(R.id.editText6); 52 E[5]=(EditText)findViewById(R.id.editText1); 53 b1.setOnClickListener(new OnClickListener() 54 { 55 56 @Override 57 public void onClick(View v) 58 { 59 // TODO Auto-generated method stub 60 try 61 { 62 for(k=0;k<5;k++) 63 { 64 T[k].setText(null); 65 } 66 for(k=0;k<5;k++) 67 { 68 E[k].setText(null); 69 } 70 T[5].setText(null); 71 T[6].setText(null); 72 T[7].setText(null); 73 T[8].setText(null); 74 i=0; 75 if(E[5].getText().length()==0) 76 { 77 Toast.makeText(MainActivity.this, "请输入题数", 1).show(); 78 } 79 else if(Integer.parseInt(E[5].getText()+"")>5 || Integer.parseInt(E[5].getText()+"")<1) 80 { 81 Toast.makeText(MainActivity.this, "题数最多不超过5题,不少于1题", 1).show(); 82 } 83 else 84 { 85 i=Integer.parseInt(E[5].getText()+""); 86 87 for(k=0;k<i;k++) 88 { 89 a[k]=(int)(Math.random()*201-100); 90 b[k]=(int)(Math.random()*201-100); 91 c[k]=(int)(Math.random()*5); 92 d[k]=(int)(Math.random()*12+1); 93 Core core=new Core(a[k],b[k],c[k],d[k]); 94 answer[k]=core.calc(); 95 T[k].setText(core.toString()); 96 97 } 98 begintime = System.currentTimeMillis(); 99 } 100 }catch(NumberFormatException u) 101 { 102 Toast.makeText(MainActivity.this, "请输入正确的数字", 1).show(); 103 } 104 } 105 }); 106 107 b2.setOnClickListener(new OnClickListener() { 108 109 @Override 110 public void onClick(View v) { 111 // TODO Auto-generated method stub 112 if(i==0) 113 { 114 Toast.makeText(MainActivity.this, "请先开始答题", 1).show(); 115 } 116 else 117 { 118 endtime = System.currentTimeMillis(); 119 time=(endtime-begintime)/1000; 120 n=0; 121 for(k=0;k<i;k++) 122 { 123 if(E[k].getText().length()==0) 124 { 125 continue; 126 } 127 try 128 { 129 if(answer[k]==Integer.parseInt(E[k].getText()+"")) 130 { 131 n++; 132 } 133 }catch(NumberFormatException u) 134 { 135 Toast.makeText(MainActivity.this, "请输入正确的数字", 1).show(); 136 } 137 138 } 139 T[5].setText(n+"道题"); 140 T[6].setText((i-n)+"道题"); 141 T[7].setText(time+"秒"); 142 T[8].setText(""); 143 for(k=0;k<i;k++) 144 { 145 T[8].setText(T[8].getText()+""+answer[k]+";"); 146 } 147 i=0; 148 } 149 } 150 }); 151 152 b3.setOnClickListener(new OnClickListener() { 153 154 @Override 155 public void onClick(View v) { 156 // TODO Auto-generated method stub 157 for(k=0;k<5;k++) 158 { 159 T[k].setText(null); 160 } 161 for(k=0;k<5;k++) 162 { 163 E[k].setText(null); 164 } 165 T[5].setText(null); 166 T[6].setText(null); 167 T[7].setText(null); 168 T[8].setText(null); 169 i=0; 170 } 171 }); 172 } 173 174 175 @Override 176 public boolean onCreateOptionsMenu(Menu menu) { 177 178 // Inflate the menu; this adds items to the action bar if it is present. 179 getMenuInflater().inflate(R.menu.main, menu); 180 return true; 181 } 182 183 @Override 184 public boolean onOptionsItemSelected(MenuItem item) { 185 // Handle action bar item clicks here. The action bar will 186 // automatically handle clicks on the Home/Up button, so long 187 // as you specify a parent activity in AndroidManifest.xml. 188 int id = item.getItemId(); 189 if (id == R.id.action_settings) { 190 return true; 191 } 192 return super.onOptionsItemSelected(item); 193 } 194 195 /** 196 * A placeholder fragment containing a simple view. 197 */ 198 public static class PlaceholderFragment extends Fragment { 199 200 public PlaceholderFragment() { 201 } 202 203 @Override 204 public View onCreateView(LayoutInflater inflater, ViewGroup container, 205 Bundle savedInstanceState) { 206 View rootView = inflater.inflate(R.layout.fragment_main, container, false); 207 return rootView; 208 } 209 } 210 211 }
package com.example.ccc; public class Core { int a; int b; int c; int d; public Core(int a,int b,int c,int d) { this.a=a; this.b=b; this.c=c; this.d=d; } public int calc() { if(c==0) { return a+b; } else if(c==1) { return a-b; } else if(c==2) { return a*b; } else if(c==3) { if(b==0) { b++; } return a/b; } else { return jiecheng(d); } } public String toString() { String A=new String(); String B=new String(); if(a<0) { A="("+a+")"; } else { A=a+""; } if(b<0) { B="("+b+")"; } else { B=b+""; } if(c==0) { return A+"+"+B; } else if(c==1) { return A+"-"+B; } else if(c==2) { return A+"*"+B; } else if(c==3) { return A+"/"+B; } else { return d+"!"; } } public int jiecheng(int x) { if(x==0 || x==1) { return 1; } else { return x*jiecheng(x-1); } } }
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:id="@+id/container" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" 7 android:background="@drawable/ss2" > 8 9 <LinearLayout 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:gravity="center" > 13 14 <TextView 15 android:id="@+id/textView1" 16 android:layout_width="wrap_content" 17 android:layout_height="wrap_content" 18 android:text="欢迎您,尊敬的用户" 19 android:textSize="20sp" /> 20 21 </LinearLayout> 22 23 <LinearLayout 24 android:layout_width="match_parent" 25 android:layout_height="wrap_content" 26 android:gravity="center" > 27 28 <TextView 29 android:id="@+id/textView2" 30 android:layout_width="wrap_content" 31 android:layout_height="wrap_content" 32 android:text="请输入题数:" 33 android:textSize="20sp" /> 34 35 <EditText 36 android:id="@+id/editText1" 37 android:hint="不超过5题" 38 android:layout_width="100dp" 39 android:layout_height="wrap_content" 40 android:textSize="15sp" 41 > 42 43 <requestFocus /> 44 </EditText> 45 46 <Button 47 android:id="@+id/button1" 48 android:layout_width="wrap_content" 49 android:layout_height="34dp" 50 android:text="开始答题" 51 android:textSize="15sp" 52 android:textColor="#ee7755" /> 53 54 </LinearLayout> 55 56 <LinearLayout 57 android:layout_width="match_parent" 58 android:layout_height="wrap_content" > 59 60 <TextView 61 android:id="@+id/textView3" 62 android:layout_width="wrap_content" 63 android:layout_height="wrap_content" 64 android:text="第一题:" 65 android:textSize="20sp" /> 66 67 <TextView 68 android:id="@+id/textView4" 69 android:layout_width="110dp" 70 android:layout_height="wrap_content" 71 android:textSize="20sp" /> 72 73 <TextView 74 android:id="@+id/textView5" 75 android:layout_width="wrap_content" 76 android:layout_height="wrap_content" 77 android:text=" = " 78 android:textSize="25sp" /> 79 80 <EditText 81 android:id="@+id/editText2" 82 android:layout_width="70dp" 83 android:layout_height="wrap_content" 84 android:textSize="15sp" /> 85 86 </LinearLayout> 87 88 <LinearLayout 89 android:layout_width="match_parent" 90 android:layout_height="wrap_content" > 91 92 <TextView 93 android:id="@+id/textView25" 94 android:layout_width="wrap_content" 95 android:layout_height="wrap_content" 96 android:text="第二题:" 97 android:textSize="20sp" /> 98 99 <TextView 100 android:id="@+id/textView6" 101 android:layout_width="110dp" 102 android:layout_height="wrap_content" 103 android:textSize="20sp" /> 104 105 <TextView 106 android:id="@+id/textView7" 107 android:layout_width="wrap_content" 108 android:layout_height="wrap_content" 109 android:text=" = " 110 android:textSize="25sp" /> 111 112 <EditText 113 android:id="@+id/editText3" 114 android:layout_width="70dp" 115 android:layout_height="wrap_content" 116 android:textSize="15sp" /> 117 118 </LinearLayout> 119 120 <LinearLayout 121 android:layout_width="match_parent" 122 android:layout_height="wrap_content" > 123 124 <TextView 125 android:id="@+id/textView8" 126 android:layout_width="wrap_content" 127 android:layout_height="wrap_content" 128 android:text="第三题:" 129 android:textSize="20sp" /> 130 131 <TextView 132 android:id="@+id/textView9" 133 android:layout_width="110dp" 134 android:layout_height="wrap_content" 135 android:textSize="20sp" /> 136 137 <TextView 138 android:id="@+id/textView10" 139 android:layout_width="wrap_content" 140 android:layout_height="wrap_content" 141 android:text=" = " 142 android:textSize="25sp" /> 143 144 <EditText 145 android:id="@+id/editText4" 146 android:layout_width="70dp" 147 android:layout_height="wrap_content" 148 android:textSize="15sp" /> 149 150 </LinearLayout> 151 152 <LinearLayout 153 android:layout_width="match_parent" 154 android:layout_height="wrap_content" > 155 156 <TextView 157 android:id="@+id/textView11" 158 android:layout_width="wrap_content" 159 android:layout_height="wrap_content" 160 android:text="第四题:" 161 android:textSize="20sp" /> 162 163 <TextView 164 android:id="@+id/textView12" 165 android:layout_width="110dp" 166 android:layout_height="wrap_content" 167 android:textSize="20sp" /> 168 169 <TextView 170 android:id="@+id/textView13" 171 android:layout_width="wrap_content" 172 android:layout_height="wrap_content" 173 android:text=" = " 174 android:textSize="25sp" /> 175 176 <EditText 177 android:id="@+id/editText5" 178 android:layout_width="70dp" 179 android:layout_height="wrap_content" 180 android:textSize="15sp" /> 181 182 </LinearLayout> 183 184 <LinearLayout 185 android:layout_width="match_parent" 186 android:layout_height="wrap_content" > 187 188 <TextView 189 android:id="@+id/textView14" 190 android:layout_width="wrap_content" 191 android:layout_height="wrap_content" 192 android:text="第五题:" 193 android:textSize="20sp" /> 194 195 <TextView 196 android:id="@+id/textView15" 197 android:layout_width="110dp" 198 android:layout_height="wrap_content" 199 android:textSize="20sp" /> 200 201 <TextView 202 android:id="@+id/textView16" 203 android:layout_width="wrap_content" 204 android:layout_height="wrap_content" 205 android:text=" = " 206 android:textSize="25sp" /> 207 208 <EditText 209 android:id="@+id/editText6" 210 android:layout_width="70dp" 211 android:layout_height="wrap_content" 212 android:textSize="15sp" /> 213 214 </LinearLayout> 215 216 <LinearLayout 217 android:layout_width="match_parent" 218 android:layout_height="wrap_content" 219 android:gravity="right" > 220 221 <Button 222 android:id="@+id/button2" 223 android:layout_width="wrap_content" 224 android:layout_height="34dp" 225 android:text="提交" 226 android:textSize="15sp" /> 227 228 </LinearLayout> 229 230 <LinearLayout 231 android:layout_width="match_parent" 232 android:layout_height="wrap_content" > 233 234 <TextView 235 android:id="@+id/textView17" 236 android:layout_width="wrap_content" 237 android:layout_height="wrap_content" 238 android:text="你答对了:" 239 android:textSize="20sp" /> 240 241 <TextView 242 android:id="@+id/textView18" 243 android:layout_width="100dp" 244 android:layout_height="wrap_content" 245 android:textSize="20sp" /> 246 247 </LinearLayout> 248 249 <LinearLayout 250 android:layout_width="match_parent" 251 android:layout_height="wrap_content" > 252 253 <TextView 254 android:id="@+id/textView19" 255 android:layout_width="wrap_content" 256 android:layout_height="wrap_content" 257 android:text="你答错了:" 258 android:textSize="20sp" /> 259 260 <TextView 261 android:id="@+id/textView20" 262 android:layout_width="100dp" 263 android:layout_height="wrap_content" 264 android:textSize="20sp" /> 265 266 </LinearLayout> 267 268 <LinearLayout 269 android:layout_width="match_parent" 270 android:layout_height="wrap_content" > 271 272 <TextView 273 android:id="@+id/textView21" 274 android:layout_width="wrap_content" 275 android:layout_height="wrap_content" 276 android:text="用时:" 277 android:textSize="20sp" /> 278 279 <TextView 280 android:id="@+id/textView22" 281 android:layout_width="100dp" 282 android:layout_height="wrap_content" 283 android:textSize="20sp" /> 284 285 </LinearLayout> 286 287 <LinearLayout 288 android:layout_width="match_parent" 289 android:layout_height="wrap_content" > 290 291 <TextView 292 android:id="@+id/textView23" 293 android:layout_width="wrap_content" 294 android:layout_height="wrap_content" 295 android:text="参考答案:" 296 android:textSize="20sp" /> 297 298 <TextView 299 android:id="@+id/textView24" 300 android:layout_width="wrap_content" 301 android:layout_height="wrap_content" 302 android:textSize="20sp" /> 303 304 </LinearLayout> 305 306 <LinearLayout 307 android:layout_width="match_parent" 308 android:layout_height="wrap_content" 309 android:gravity="right" > 310 311 <Button 312 android:id="@+id/button3" 313 android:layout_width="wrap_content" 314 android:layout_height="34dp" 315 android:text="重置" 316 android:textSize="15sp" /> 317 318 </LinearLayout> 319 320 </LinearLayout>
**最后上传图片时18:59分!!老师手下留情啊!手机卡了一点点!所以最后提交慢了几分钟!!一定要见谅啊!!