package com.jld.homework;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
String op;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner spinner = (Spinner) this.findViewById(R.id.operator);//获取活动布局中的Spinner对象
//为Spinner注册内部监听器对象
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
//将Spinner选项的值赋值给成员变量op(保存算术运算符)
op = ((TextView) view).getText().toString();
}
@Override
public void onNothingSelected(AdapterView> parent) {
}
});
//各类组件
Button calcButton = findViewById(R.id.calc);
EditText firstNum = findViewById(R.id.firstNum);
EditText secondNum = findViewById(R.id.secondNum);
TextView result = findViewById(R.id.result);
//计算核心
calcButton.setOnClickListener(v -> {
switch (op) {
case "+": {
double r = Double.parseDouble(firstNum.getText().toString()) + Double.parseDouble(secondNum.getText().toString());
result.setText(String.valueOf(r));
break;
}
case "-": {
double r = Double.parseDouble(firstNum.getText().toString()) - Double.parseDouble(secondNum.getText().toString());
result.setText(String.valueOf(r));
break;
}
case "*": {
double r = Double.parseDouble(firstNum.getText().toString()) * Double.parseDouble(secondNum.getText().toString());
result.setText(String.valueOf(r));
break;
}
case "/": {
double r = Double.parseDouble(firstNum.getText().toString()) / Double.parseDouble(secondNum.getText().toString());
result.setText(String.valueOf(r));
break;
}
default://非法情况报错
result.setText(R.string.ERROR);
break;
}
});
}
}