51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> app >> 文章正文

android简易计算器源代码

更新时间:2013-7-24:  来源:51代码网

android简易计算器源代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Jisuanqi" >
   
    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="请先选择运算符,然后再输入数据计算。"/>

    <EditText android:id="@+id/et1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
   
    <TextView android:id="@+id/ysf"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+"/>
   
    <EditText android:id="@+id/et2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
   
    <TextView android:id="@+id/jieguo2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
   
    <LinearLayout android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
       
        <Button android:id="@+id/jia"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="+"/>
       
        <Button android:id="@+id/jian"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-"/>
       
        <Button android:id="@+id/cheng"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="*"/>
       
        <Button android:id="@+id/chu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="/"/>
       
        <Button android:id="@+id/jisuan"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="计算"/>
    </LinearLayout>

</LinearLayout>

Java代码:
package com.example.jisuanqi;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Jisuanqi extends Activity {

Button jia,jian,cheng,chu,jisuan;
EditText et1,et2;
TextView ysf,jieguo2;
public float result=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.jisuanqi);
        //根据ID获取组件
        jia=(Button)findViewById(R.id.jia);
        jian=(Button)findViewById(R.id.jian);
        cheng=(Button)findViewById(R.id.cheng);
        chu=(Button)findViewById(R.id.chu);
        jisuan=(Button)findViewById(R.id.jisuan);
        et1=(EditText)findViewById(R.id.et1);
        et2=(EditText)findViewById(R.id.et2);
       
        //创建监听
      
        ButtonListener bcl=new ButtonListener();
        jia.setOnClickListener(bcl);
        jian.setOnClickListener(bcl);
        cheng.setOnClickListener(bcl);
        chu.setOnClickListener(bcl);
        jisuan.setOnClickListener(bcl);
       
       
    }
   
    class ButtonListener implements OnClickListener{
     @Override
     public void onClick(View v){
     switch(v.getId()){
     case R.id.jia:
     ysf.setText("+");
     result=Float.parseFloat(et1.getText().toString())+Float.parseFloat(et2.getText().toString());
     break;
     case R.id.jian:
     ysf.setText("-");
     result=Float.parseFloat(et1.getText().toString())-Float.parseFloat(et2.getText().toString());
     break;
     case R.id.cheng:
     ysf.setText("*");
     result=Float.parseFloat(et1.getText().toString())*Float.parseFloat(et2.getText().toString());
     break;
     case R.id.chu:
     ysf.setText("/");
     result=Float.parseFloat(et1.getText().toString())/Float.parseFloat(et2.getText().toString());
     break;
     case R.id.jisuan:
     jieguo2.setText("计算结果:"+Float.toString(result));
     break;
     }
     }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.jisuanqi, menu);
        return true;
    }
   
}

运行结果:
界面显示正常,

result=Float.parseFloat(et1.getText().toString())+Float.parseFloat(et2.getText().toString());

猜想应该是 上面这句出错 

不是代码问题,是模拟器的问题。

赞助商链接
推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |