zoukankan      html  css  js  c++  java
  • 安卓版四则运算

          这次编程主要是对我们之前编写的C++四则运算进行移植,将其一直到安卓手机平台,因为之前做的是C++版本的,所以做起来饶了很多弯路,需要现将其改编为Java语言,在进行后续工作。

          这个个安卓程序主有三个Activity界面,第一个上边输入想要做的题目数量,用intent将其传值道第二个Activity界面上,然后根据这些条件出题,每个题目由3-5个数组成,最后能算出答案并进行比较,结束后会统计做对的题目数量,然后给出正确率。第三个界面则是对这个软件的介绍了,如何使用和版本等信息。

          我们的代码主要如下:     

          第一个布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="40dp"
            android:text="易百分"
            android:textColor="#0000FF"
            android:textSize="30dp" />
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.02"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="30dp"
                android:text="请输入题目数量"
                android:textSize="20sp" />
    
            <EditText
                android:id="@+id/edtnumber"
                android:layout_width="107dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="10dp"
                android:ems="10"
                android:inputType="numberSigned" >
    
                <requestFocus />
            </EditText>
    
            <RadioGroup
                android:id="@+id/radioGroup1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="20dp" >
    
                <RadioButton
                    android:id="@+id/radio0"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:checked="true"
                    android:text="一位数运算" />
    
                <RadioButton
                    android:id="@+id/radio1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:text="两位数运算" />
    
            </RadioGroup>
    
            <Button
                android:id="@+id/btnTijiao"
                android:layout_width="123dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="30dp"
                android:onClick="onClickTijiao2"
                android:text="提 交" />
        </LinearLayout>
    
    </LinearLayout>

         这个界面对应的Java文件:

     1 package com.ml.caculate;
     2 
     3 import android.app.Activity;
     4 import android.app.AlertDialog;
     5 import android.content.Intent;
     6 import android.os.Bundle;
     7 import android.view.ContextMenu;
     8 import android.view.ContextMenu.ContextMenuInfo;
     9 import android.view.View;
    10 import android.widget.EditText;
    11 import android.widget.RadioButton;
    12 import android.widget.RadioGroup;
    13 import android.widget.RadioGroup.OnCheckedChangeListener;
    14 import android.widget.TextView;
    15 
    16 public class page2 extends Activity {
    17     
    18      TextView tv1;
    19      EditText edtnum;
    20      RadioButton mRadio1;
    21      RadioButton mRadio2;
    22      RadioGroup genderGroup;
    23      String info="0";
    24     @Override
    25     protected void onCreate(Bundle savedInstanceState) {
    26         // TODO Auto-generated method stub
    27         super.onCreate(savedInstanceState);
    28         setContentView(R.layout.help2);
    29         tv1=(TextView)findViewById(R.id.textView2);
    30         edtnum=(EditText)findViewById(R.id.edtnumber);
    31         mRadio1 = (RadioButton) findViewById(R.id.radio0);
    32         mRadio2 = (RadioButton) findViewById(R.id.radio1);
    33         genderGroup=(RadioGroup)findViewById(R.id.radioGroup1);
    34         genderGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    35             
    36             @Override
    37             public void onCheckedChanged(RadioGroup group, int checkedId) {
    38                 // TODO Auto-generated method stub
    39                 if (checkedId == mRadio1.getId()) 
    40                 {
    41                     info="0";
    42                 }
    43                 else if (checkedId == mRadio2.getId())
    44                 {
    45                     info="1";
    46                 }
    47             }
    48         });
    49 
    50         
    51     }
    52 
    53     @Override
    54     public void onCreateContextMenu(ContextMenu menu, View v,
    55             ContextMenuInfo menuInfo) {
    56         // TODO Auto-generated method stub
    57         
    58         super.onCreateContextMenu(menu, v, menuInfo);
    59     }    
    60     
    61     public void onClickTijiao2(View v)
    62     {
    63         String S1=edtnum.getText().toString();
    64         if(S1.length()==0)         //判断输入框是否为空
    65         {
    66             new AlertDialog.Builder(this)
    67             .setTitle("提示信息")
    68             .setMessage("您还没有输入数量")
    69             .setPositiveButton("现在输入", null)
    70             .show();
    71         }
    72         else
    73         {
    74             String R=info;     //传值表示式子类型
    75             String number=edtnum.getText().toString();
    76             Intent intent=new Intent();
    77             intent.setClass(page2.this,MainActivity.class);
    78             intent.putExtra("extra", number);     //put传到另一个界面
    79             intent.putExtra("redio", R);          //put传到另一个界面
    80             
    81             //启动
    82             this.startActivity(intent); 
    83         }
    84         
    85     }
    86     
    87     
    88 }

      第二个布局文件,也是实现主要功能的布局:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center_vertical"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="24dp"
                android:text="小学生计算题"
                android:textSize="26dp" />
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:gravity="center" >
    
            <TextView
                android:id="@+id/tvNum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="请"
                android:textSize="20dp" />
    
            <TextView
                android:id="@+id/tvSuanshi"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="点击下一题开始做题"
                android:textSize="20sp" />
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="110dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="30dp"
                android:text="输入你的结果"
                android:textSize="18dp" />
    
            <EditText
                android:id="@+id/editText1"
                android:layout_width="105dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:ems="10"
                android:inputType="none"
                android:text="" />
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="25dp"
            android:onClick="onClickYes" >
    
            <Button
                android:id="@+id/btnYes"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:onClick="onClickYes"
                android:text="确 定" />
    
            <Button
                android:id="@+id/btnClear"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:onClick="ClearClick"
                android:text="下一题" />
    
        </LinearLayout>
    
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="90dp"
            android:text="版本号:V 15.04.0001" />
    
    </LinearLayout>

      对应的Java文件:

    package com.ml.caculate;
    
    
    import java.math.BigDecimal;
    import java.util.Stack;
    import android.os.Bundle;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.content.DialogInterface.OnClickListener;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
        
        /* (non-Javadoc)
         * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
         */
        
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
            int id=item.getItemId();
            
            if(id==R.id.action_settings)
            {
                Intent i = new Intent(MainActivity.this , page1.class);
                //启动帮助说明界面
                startActivity(i); 
                return true;
            }
            return super.onOptionsItemSelected(item);
            
        }
    
        TextView ss,suanshi,zhengque,nandu;
        EditText edtResult;
        int j=10;
        boolean i=true;
        int num=0;
        String str=Way_1();
        int shumu=0;
        
        int trr=0,err=0;
        
        
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ss=(TextView)findViewById(R.id.tvNum);
            zhengque=(TextView)findViewById(R.id.textView1);
            nandu=(TextView)findViewById(R.id.textView4);
            suanshi=(TextView)findViewById(R.id.tvSuanshi);
            edtResult=(EditText)findViewById(R.id.editText1);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            ss.setText("");
            return true;
        }
    
        //产生算式的函数
       private static int Operands_2() /*1-9*/
        {
            int Operand=(int)(Math.random()*9)+1;
            return Operand;
        }
        private static int Operands_3() /*1-99*/
        {
            int Operand=(int)(Math.random()*99)+1;
            return Operand;
        }
        private static String Operator_1(String formula)/*随机产生运算符   有乘除*/
        {
            int f=(int)(Math.random()*4);
            if(f==0) 
            {
                formula+="+";
            }
            if(f==1)
            {
                formula+="-";
            }
            if(f==2)
            {
                formula+="*";
            }
            if(f==3)
            {
                formula+="/";
            }
            return formula;
        }
        private static String Way_1() /*最多可支持10个数参与计算   有乘除 有括号 10以内 加减有负数 除法有余数*/
        {
            String formula="";
            int length=(int)(Math.random()*1)+3; /*随机产生表达式中操作数的个数 3-4 个*/
            int left=0,right=0,flag=0,left_1;
            for(int i=0;i<length-1;i++)
            {
                left_1=left;
               // left=Bracket_l(left,formula);
                //---------
                int f=(int)(Math.random()*3);
                if(f<2)
                {
                }
                if(f==2)
                {
                    formula+="(";
                    left++;
                }
                //******
                if(left_1!=left)     /*产生了左括号  flag=i*/
                {
                    flag=i;
                }
                formula+=Operands_2();
                if(left>right&&flag!=i) /*左括号大于右括号的个数 and 产生左括号和右括号不在一个循环里  即不会产生“(随机数)” 这种无效情况*/
                {
                    //right=Bracket_r(right,formula);
                    int r=(int)(Math.random()*5);
                    if(r==0)
                    {
                    }
                    if(r>0) /*产生右括号的概率大 */
                    {
                        formula+=")";
                        right++;
                    }
                }
                formula=Operator_1(formula);  /*有乘除*/
            }
            /*因为 一个操作数一个运算符   还缺少一个操作数 (0 -- 9)*/
            formula+=Operands_2();
            for(int i=0;i<left-right;i++)
            {
                formula+=")";
            }
            return formula+="#";
        }
        private static String Way_2() /*   有乘除 有括号 100以内 加减有负数 除法有余数*/
        {
            String formula="";
            int length=(int)(Math.random()*1)+3; /*随机产生表达式中操作数的个数3-4 个*/
            int left=0,right=0,flag=0,left_1;
            for(int i=0;i<length-1;i++)
            {
                left_1=left;
               // left=Bracket_l(left,formula);
                //---------
                int f=(int)(Math.random()*3);
                if(f<2)
                {
                }
                if(f==2)
                {
                    formula+="(";
                    left++;
                }
                //******
                if(left_1!=left)     /*产生了左括号  flag=i*/
                {
                    flag=i;
                }
                formula+=Operands_3();
                if(left>right&&flag!=i) /*左括号大于右括号的个数 and 产生左括号和右括号不在一个循环里  即不会产生“(随机数)” 这种无效情况*/
                {
                    //right=Bracket_r(right,formula);
                    int r=(int)(Math.random()*5);
                    if(r==0)
                    {
                    }
                    if(r>0) /*产生右括号的概率大 */
                    {
                        formula+=")";
                        right++;
                    }
                }
                formula=Operator_1(formula);  /*有乘除*/
            }
            /*因为 一个操作数一个运算符   还缺少一个操作数 (0 -- 9)*/
            formula+=Operands_3();
            for(int i=0;i<left-right;i++)
            {
                formula+=")";
            }
            return formula+="#";
        }
        //----------------------------------------------
        static double jisuan(double x,double y,char oper)
        { 
            switch(oper)
            {
            case '+':
                {
                    return x+y;
                } 
            case '-':
                {
                    return x-y;
                }
            case '*':
                {
                    return x*y;
                } 
            case '/':
                {
                    return x/y;
                }  
            }
            return 0;
        }
    
        static char precede(char ch1,char ch2)
        {
            int i = 0,j=0;
            char[][] a={        //优先级对照表,依次为+ - * / ( ) #
                //  +   -   *   /   (   )   #
                    {'>','>','<','<','<','>','>'},    // +
                    {'>','>','<','<','<','>','>'},    // - 
                    {'>','>','>','>','<','>','>'},    // * 
                    {'>','>','>','>','<','>','>'},    // /
                    {'<','<','<','<','<','=','0'},    // (
                    {'>','>','>','>','0','>','>'},    //
                    {'<','<','<','<','<','0','='}     // #
            };
            switch(ch1)
            {
                //优先级与矩阵匹配
            case '+':
                {
                    i=0;
                    break;
                }
            case '-':
                {
                    i=1;
                    break;
                }
            case '*':
                {
                    i=2;
                    break;
                }
            case '/':
                {
                    i=3;
                    break;
                }
            case '(':
                {
                    i=4;
                    break;
                }
            case ')':
                {
                    i=5;
                    break;
                }
            case '#':
                {
                    i=6;
                    break;
                }
            }
            switch(ch2)
            {
                //优先级与矩阵匹配
            case '+':
                {
                    j=0;
                    break;
                }
            case '-':
                {
                    j=1;
                    break;
                }
            case '*':
                {
                    j=2;
                    break;
                }
            case '/':
                {
                    j=3;
                    break;
                }
            case '(':
                {
                    j=4;
                    break;
                }
            case ')':
                {
                    j=5;
                    break;
                }
            case '#':
                {
                    j=6;
                    break;
                }
            }
            return a[i][j];
        }
    
        static double fun(String str)
        {
            double result = 0;
            Stack<Character>  optr = new Stack<Character> ();  
            Stack<Double>  opnd = new Stack<Double>();  
            //SqStack optr,opnd;     //运算符   操作数
            //InitStack(optr);
            //push(optr,'#');
            optr.push('#');
            //InitStack(opnd);
            int length=str.length();
            int i=0;
            char ch;
            char s[] = str.toCharArray();
            ch=s[i];
            while(ch!='#'||optr.peek()!='#'&&i<length)
            {
                if(ch>='0'&&ch<='9')
                {
                    char chh=s[++i];
                    if(chh>='0'&&chh<='9')
                    {
                        double c=(ch-48)*10+chh-48;
                        opnd.push(c);
                        ch=s[++i];
                    }
                    else
                    {
                        double c=ch-48;
                        opnd.push(c);
                        ch=chh;
                    }
                    
                }
                else
                    switch(precede(optr.peek(),ch)){
                    case '<':
                        {
                            //push(optr,ch);
                            optr.push(ch);
                            ch=s[++i];
                            break;
                        }
                    case '>':
                        {
                            //double y=pop1(opnd);
                            //double x=pop1(opnd);
                            double y=opnd.pop();
                            double x=opnd.pop();
                            char c=optr.pop();
                            result=jisuan(x,y,c);
                            //push1(opnd,result+48);
                            opnd.push(result);
                            break;
                        }
                    case '=':
                        {
                            //pop(optr);
                            optr.pop();
                            ch=s[++i];
                            break;
                        }
                }
            }
            return result;
        }
    
        public void onClickYes(View v)  //确定按钮
        {
            Intent intent = getIntent();
            String nn=intent.getStringExtra("extra");
            int number=Integer.parseInt(nn);    //从前一个界面传过来的值
            if(shumu==number)
            {
                new AlertDialog.Builder(this)
                .setTitle("提示信息")
                .setMessage("您已经做完"+number+"道题,共答对"+trr+"道题")
                .setPositiveButton("OK", null)
                .show(); 
            }
            String S1=edtResult.getText().toString();
            if(ss.getText()=="请"||S1.length()==0)         //判断输入框是否为空
            {
                new AlertDialog.Builder(this)
                .setTitle("提示信息")
                .setMessage("您还没有输入答案或还没开始")
                .setPositiveButton("现在输入", null)
              //.setNegativeButton("是", null)
                .show(); 
            }
            else
            {
                String str=ss.getText().toString();
                double result1 = fun(str);
                BigDecimal bg = new BigDecimal(result1);
                double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
          //      ss.setText(str);
                double answer=Double.valueOf(edtResult.getText().toString());
                if (answer!=f1)
                {
                    new AlertDialog.Builder(this)
                    .setTitle("错误提示")
                    .setMessage("很遗憾 ,回答错误!")
                    .setNegativeButton("下一题",new OnClickListener() {
                        
                        @Override
                        public void onClick(DialogInterface arg0, int arg1) {
                            // TODO Auto-generated method stub
                            Intent intent = getIntent();
                            String rr=intent.getStringExtra("redio");
                            int red=Integer.parseInt(rr);
                            if(red==0)
                            {
                                String str=Way_1();
                                ss.setText(str);
                                zhengque.setText("小学生计算题");
                                suanshi.setText(" ?");
                            }
                            else
                            {
                                String str=Way_1();
                                ss.setText(str);
                                zhengque.setText("小学生计算题");
                                suanshi.setText(" ?");
                            }
                        }
                    })
                    .show(); 
                    shumu++;
                }
                else if(answer==f1)
                {
                    suanshi.setText(" ?");
                    zhengque.setText("恭喜回答正确!!!");
                    ss.setText("请点击下一道题,继续...");
                    trr++;
                }
                edtResult.setText("");
            }
        }   
        
        public void ClearClick(View v)  //下一题按钮
    
        {
            Intent intent = getIntent();
            String nn=intent.getStringExtra("extra");
            String rr=intent.getStringExtra("redio");
            int number=Integer.parseInt(nn);    //从前一个界面传过来的值
            int red=Integer.parseInt(rr);
            if(shumu<number)
            {
                edtResult.setText("");
                if(red==0)
                {
                    String str=Way_1();
                    ss.setText(str);
                    zhengque.setText("小学生计算题");
                    suanshi.setText(" ?");
                    shumu++;
                }
                else
                {
                    String str=Way_2();
                    ss.setText(str);
                    zhengque.setText("小学生计算题");
                    suanshi.setText(" ?");
                    shumu++;
                }
            }
            else
            {
                new AlertDialog.Builder(this)
                .setTitle("提示信息")
                .setMessage("您已经做完"+number+"道题,共答对"+trr+"道题")
                .setPositiveButton("OK", null)
                .show(); 
                ss.setText("");
                String s2=trr+"/"+number+"#";
                double s=fun(s2);
                BigDecimal bg = new BigDecimal(s);
                double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                suanshi.setText("正确率:"+f1*100+"%");
            }
        }
    }

    帮助说明布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="40dp"
            android:text="帮助说明"
            android:textSize="24dp" />
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="35dp"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/textView2"
                android:layout_width="238dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:layout_weight="0.59"
                android:text="1.您可以选择题目数量。"
                android:textSize="20dp" />
    
            <TextView
                android:id="@+id/textView3"
                android:layout_width="238dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:layout_weight="0.59"
                android:text="2.您可以选择有无乘除。"
                android:textSize="20dp" />
    
             <TextView
                android:id="@+id/textView4"
                android:layout_width="238dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:layout_weight="0.59"
                android:text="3.结果是小数的,保留两位小数。"
                android:textSize="20dp" />
             
             
              <TextView
                android:id="@+id/textView5"
                android:layout_width="238dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:layout_weight="0.59"
                android:text="4.结果是整数的,保留一位小数。"
                android:textSize="20dp" />
              
                        <TextView
                android:id="@+id/textView6"
                android:layout_width="238dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="16dp"
                android:layout_weight="0.59"
                android:text="5.预祝你取得好成绩!"
                android:textSize="20dp" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="60dp"
            android:gravity="center_horizontal" >
    
            <TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="版本号:" />
    
            <TextView
                android:id="@+id/textView8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="V 15.04.0001" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal">
    
            <TextView
                android:id="@+id/textView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="关注博客园:_小学生and小青年" />
    
        </LinearLayout>
    
    </LinearLayout>

    对应的Java文件:

     1 package com.ml.caculate;
     2 
     3 import android.app.Activity;
     4 import android.content.Intent;
     5 import android.os.Bundle;
     6 import android.view.ContextMenu;
     7 import android.view.ContextMenu.ContextMenuInfo;
     8 import android.view.View;
     9 import android.widget.RadioButton;
    10 import android.widget.RadioGroup;
    11 import android.widget.TextView;
    12 
    13 public class page1 extends Activity {
    14     
    15      public RadioGroup rg;
    16      public RadioButton mRadio1, mRadio2,mRadio3;
    17      String []info=new String [3];
    18      TextView tv1;
    19 
    20     @Override
    21     protected void onCreate(Bundle savedInstanceState) {
    22         // TODO Auto-generated method stub
    23         super.onCreate(savedInstanceState);
    24         setContentView(R.layout.help);
    25         tv1=(TextView)findViewById(R.id.textView1);
    26     }
    27 
    28     @Override
    29     public void onCreateContextMenu(ContextMenu menu, View v,
    30             ContextMenuInfo menuInfo) {
    31         // TODO Auto-generated method stub
    32         super.onCreateContextMenu(menu, v, menuInfo);
    33     }
    34     
    35     public void onClickTijiao1(View v)
    36     {
    37         Intent i = new Intent("android.intent.action.PAGE2");
    38         i.putExtra(info[0], info[0]); 
    39         //启动
    40         startActivity(i); 
    41     }
    42 }

    结果:

    实验感想:

           这次试验有很多细节的地方,比如判空语句,比如判断对错的对话框,光判空语句就占了将近1/4的代码量,做完了这个小软件,感觉一点点成就感。

    项目计划总结:      
    日期 听课 编写程序 查阅资料 日总计
    星期一  2 2 2 6
    星期二        
    星期三   3 1 4
    星期四  2 2   4
    星期五   2   2
    星期六   3 1 4
    星期日   3 1 4
    周总计   17 7 24
    时间记录日志:          
    日期 开始时间 结束时间 中断时间 净时间 活动 备注
    4月1日 14:00 16:10 10 120 编写编程 修改程序
    4月2日 8:20 10:40 30 110 编写程序 将程序改为Java语言
    4月3日 16:30 20:30 30 210 查阅资料 查资料和调试
    4月4日 15:00 21:40 100 3000 编程 修改和调试
    4月5日 10:00 17:30 90 3600 调试 最终调试
    4月6日 18:00 18:30   30 博客 撰写博客
    缺陷记录日志:
    日期 编号 引入阶段 排除阶段 调试过程中遇到的BUG以及解决办法
    4月1日 1 编码 编译 对C++的四则运算进行了修改,变为Java语言
    4月2日 2 编码 编译 在安卓里边,每次都在判断下一个结果,修改执行顺序。
    4月3日 3 编码 编译 判断时,为了不出现循环小数,我们保留两位小数。
    4月4日 4 编码 编译 问题带“#”输出,让其在计算的时候加“#”,输出时没有。
    4月4日 5 编码 编译 加入了一个新界面,用来获取用户输入的题目数量和难度。
    4月6日 6 编码 编译 页面之间传值过不去,仔细看了一下怎样用Intent传参,问题解决。

    队友:于磊 20133078   http://www.cnblogs.com/cnyulei/

  • 相关阅读:
    WIN2008 R2 安装SQLSERVER2008笔记
    WINFORM 打开PDF
    Android 笔记:ImageButton单击切换按钮图片效果的实现(转)
    Android笔记: 查看SDK源码
    H5结合百度map实现GPS定位
    js 计算快速统计中用到的日期
    SpringMVC4+MyBatis+SQL Server2014 基于SqlSession实现读写分离(也可以实现主从分离)
    SpringMVC4+MyBatis+SQL Server2014实现读写分离
    SpringMVC4集成ehcache
    C# 匿名类型序列化、反序列化
  • 原文地址:https://www.cnblogs.com/L-Damon-v/p/5360809.html
Copyright © 2011-2022 走看看