Android studio简易计算机

xml代码:






java代码:

//the result
public double result = 0;
//array for two numbers 数组存取运算符前后两个数字
public Double[] number = new Double[2];
//用于= 和 + 等string的初始化
public String str="haha";
//to set the number[]
public int count=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    number[0]=(double)0;
    number[1]=(double)0;
}

//realize ac 清空功能
public void realizeAc()
{
    TextView textView = (TextView)findViewById(R.id.result);
    textView.setText(""+0);
    number[0]=(double)0;
    number[1]=(double)0;
    result = 0;
    str="haha";
    count=0;
}

//count the result 按=后
public void counter(View view)
{
    switch(str)
    {
        case "ac":
            number[0]=(double)0;
            number[1]=(double)0;
            result = 0;
            str="haha";
            count=0;
            break;
        case "multiply":
            result = number[0]*number[1];
            break;
        case "minus":
            result = number[0]-number[1];
            break;
        case "remove":
            result = number[0]/number[1];
            break;
        case "add":
            result = number[0]+number[1];
            break;
        default:
            Toast.makeText(getApplicationContext(),"error",Toast.LENGTH_LONG).show();
            result=0;
            break;
    }
    TextView textView = (TextView) findViewById(R.id.result);
    textView.setText(result+"");
}

//get the str 获取运算符
public void getStr(View view)
{
    switch(view.getId())
    {
        case R.id.ac:
            str="ac";
            realizeAc();
            break;
        case R.id.multiply:
            str="multiply";
            break;
        case R.id.minus:
            str="minus";
            break;
        case R.id.add:
            str="add";
            break;
        case R.id.remove:
            str="remove";
            break;
        default:
            break;
    }
}
//get the num 获取数字
 public void  getNum(View view)
   {
       if(str!="haha")
       {
           count=1;//根据运算符是否为空,确定是哪个数字
       }
       switch(view.getId()) {
           case R.id.one:
               number[count] = number[count] * 10 + 1;
               break;
           case R.id.two:
               number[count] = number[count] * 10 + 2;
               break;
           case R.id.three:
               number[count] = number[count] * 10 + 3;
               break;
           case R.id.four:
               number[count] = number[count] * 10 + 4;
               break;
           case R.id.five:
               number[count] = number[count] * 10 + 5;
               break;
           case R.id.six:
               number[count] = number[count] * 10 + 6;
               break;
           case R.id.seven:
               number[count] = number[count] * 10 + 7;
               break;
           case R.id.eight:
               number[count] = number[count] * 10 + 8;
               break;
           case R.id.nine:
               number[count] = number[count] * 10 + 9;
               break;
           case R.id.zero:
               number[count] = number[count] * 10 + 0;
               break;
       }
   }  
}

你可能感兴趣的:(Android)