写了一个简单的计算器程序
其中最重要的就是chenkAndCompute(),将输入的数字和符号都存入到items中,如果items.size>=3说明此时应该有两个数字和一个符号,进行计算同时将items清空,将得到的结果再存进items中,从而实现了计算功能
MainActivity类:
package com.example09.calculator;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements OnClickListener {
private TextView tvScreen=null;//显示数据
private List<Item> items=new ArrayList<Item>();//存放数据和符号
private boolean isMidResult=true,isbtnResultClick=false;//判断当前textview显示的是否为中间结果,判断=是否被按下
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvScreen=(TextView) findViewById(R.id.tvSreen);
findViewById(R.id.btn0).setOnClickListener(this);
findViewById(R.id.btn1).setOnClickListener(this);
findViewById(R.id.btn2).setOnClickListener(this);
findViewById(R.id.btn3).setOnClickListener(this);
findViewById(R.id.btn4).setOnClickListener(this);
findViewById(R.id.btn5).setOnClickListener(this);
findViewById(R.id.btn6).setOnClickListener(this);
findViewById(R.id.btn7).setOnClickListener(this);
findViewById(R.id.btn8).setOnClickListener(this);
findViewById(R.id.btn9).setOnClickListener(this);
findViewById(R.id.btnAdd).setOnClickListener(this);
findViewById(R.id.btnSub).setOnClickListener(this);
findViewById(R.id.btnX).setOnClickListener(this);
findViewById(R.id.btnDiv).setOnClickListener(this);
findViewById(R.id.btnClear).setOnClickListener(this);
findViewById(R.id.btnResult).setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.btn0:
MidResultCleartvScreen();//将中间结果清空后再添加数字
tvScreen.append("0");