作业6--超级无敌终结

之前的项目需求弄错了,忘记是在APP上重新弄的软件功能,所以在这再发一下。

准备实现的功能

  1. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
  2. 用户答题结束以后,程序可以显示用户答题所用的时间
  3. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数 
  4. 程序可以出单个整数阶乘的题目:如:4!=24
  5. 程序可以设置背景功能,可以改变界面的背景即可。
  6. 用户可以选择在限定时间答题,答题结束可以显示用户答错的题目个数和答对的题目个数
  7. 用户选择随机产生题目进行答题
  8. 报错功能    

------------------------------------------------------------我是分割线------------------------------------------------------------

  经过几天的努力,在许小学生的带领下,在磕磕绊绊的摸索中,终于掏出了产品,也许还有许多功能没有完善,也许还有许多不足的地方,也许还没法

为社会带来福利,也许还没法赚钱是吧。。。这期间经历了许组长的练车不打码,玩游戏不打码,看电视剧不打码,心情不好不打码,反正最后打了码让

我们其他组员非常欣慰,此处应该有掌声!谢谢,谢谢大家的厚爱!

  废话不多,送上许小学生的代码及截图:

  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分!!老师手下留情啊!手机卡了一点点!所以最后提交慢了几分钟!!一定要见谅啊!!

posted @ 2015-05-28 19:03  战神联盟  阅读(198)  评论(0编辑  收藏  举报