Android studio简易计算机

xml代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:layout_editor_absoluteY="25dp">

<TextView
    android:id="@+id/result"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="44dp"
    android:layout_marginRight="44dp"
    android:layout_marginTop="38dp"
    android:text="0"
    android:textSize="50dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/one"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="8dp"
    android:layout_marginStart="8dp"
    android:onClick="getNum"
    android:text="1"
    app:layout_constraintBaseline_toBaselineOf="@+id/two"
    app:layout_constraintStart_toStartOf="parent" />

<Button
    android:id="@+id/two"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="2"
    app:layout_constraintEnd_toStartOf="@+id/three"
    app:layout_constraintStart_toEndOf="@+id/one"
    app:layout_constraintTop_toTopOf="@+id/three" />

<Button
    android:id="@+id/three"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="3"
    app:layout_constraintBaseline_toBaselineOf="@+id/zero"
    app:layout_constraintEnd_toStartOf="@+id/count"
    app:layout_constraintStart_toEndOf="@+id/two" />

<Button
    android:id="@+id/zero"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="40dp"
    android:layout_marginEnd="20dp"
    android:layout_marginRight="20dp"
    android:onClick="getNum"
    android:text="0"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent" />

<Button
    android:id="@+id/five"
    android:layout_width="88dp"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="5"
    app:layout_constraintBottom_toTopOf="@+id/one"
    app:layout_constraintEnd_toStartOf="@+id/six"
    app:layout_constraintStart_toEndOf="@+id/four" />

<Button
    android:id="@+id/six"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="6"
    app:layout_constraintStart_toStartOf="@+id/three"
    app:layout_constraintTop_toBottomOf="@+id/add" />

<Button
    android:id="@+id/seven"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="8dp"
    android:layout_marginStart="8dp"
    android:onClick="getNum"
    android:text="7"
    app:layout_constraintBaseline_toBaselineOf="@+id/eight"
    app:layout_constraintStart_toStartOf="parent" />

<Button
    android:id="@+id/eight"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="8"
    app:layout_constraintEnd_toStartOf="@+id/nine"
    app:layout_constraintStart_toEndOf="@+id/seven"
    app:layout_constraintTop_toBottomOf="@+id/ac" />

<Button
    android:id="@+id/nine"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="9"
    app:layout_constraintStart_toStartOf="@+id/six"
    app:layout_constraintTop_toBottomOf="@+id/minus" />

<Button
    android:id="@+id/count"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="20dp"
    android:layout_marginRight="20dp"
    android:onClick="counter"
    android:text="="
    app:layout_constraintBaseline_toBaselineOf="@+id/six"
    app:layout_constraintEnd_toEndOf="parent" />

<Button
    android:id="@+id/add"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="20dp"
    android:layout_marginRight="20dp"
    android:onClick="getStr"
    android:text="+"
    app:layout_constraintBaseline_toBaselineOf="@+id/nine"
    app:layout_constraintEnd_toEndOf="parent" />

<Button
    android:id="@+id/ac"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="8dp"
    android:layout_marginStart="8dp"
    android:onClick="getStr"
    android:text="AC"
    app:layout_constraintBaseline_toBaselineOf="@+id/remove"
    app:layout_constraintStart_toStartOf="parent" />

<Button
    android:id="@+id/remove"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="48dp"
    android:onClick="getStr"
    android:text="/"
    app:layout_constraintBottom_toTopOf="@+id/four"
    app:layout_constraintEnd_toStartOf="@+id/multiply"
    app:layout_constraintStart_toEndOf="@+id/ac" />

<Button
    android:id="@+id/multiply"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getStr"
    android:text="*"
    app:layout_constraintStart_toStartOf="@+id/nine"
    app:layout_constraintTop_toTopOf="@+id/remove" />

<Button
    android:id="@+id/minus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="20dp"
    android:layout_marginRight="20dp"
    android:onClick="getStr"
    android:text="-"
    app:layout_constraintBaseline_toBaselineOf="@+id/multiply"
    app:layout_constraintEnd_toEndOf="parent" />

<Button
    android:id="@+id/four"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="getNum"
    android:text="4"
    app:layout_constraintBaseline_toBaselineOf="@+id/five"
    app:layout_constraintStart_toStartOf="@+id/seven" />
    </android.support.constraint.ConstraintLayout>

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;
       }
   }  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值