目录
计算器1:
MainAcivity.java
activity_main.xml
UI界面
计算器2:
MainActivity.java:
active_main.xml:
UI界面:
计算器1:
MainAcivity.java
package com.example.lijiang.mycalculator;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity{
private StringBuilder show_equation=new StringBuilder();//显示运算式
private ArrayList calculate_equation;//计算式
private int signal=0;//为0 时表示刚输入状态;为1 时表示当前在输出结果上继续输入
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化
show_equation=new StringBuilder();
calculate_equation=new ArrayList<>();
Button zero=(Button)findViewById(R.id.zero);
Button one=(Button)findViewById(R.id.one);
Button two=(Button)findViewById(R.id.two);
Button three=(Button)findViewById(R.id.three);
Button four=(Button)findViewById(R.id.four);
Button five=(Button)findViewById(R.id.five);
Button six=(Button)findViewById(R.id.six);
Button seven=(Button)findViewById(R.id.seven);
Button eight=(Button)findViewById(R.id.eight);
Button nine=(Button)findViewById(R.id.nine);
Button cls=(Button)findViewById(R.id.cls);
Button div=(Button)findViewById(R.id.div);
Button mul=(Button)findViewById(R.id.mul);
Button backspace=(Button)findViewById(R.id.Backspace);
Button sub=(Button)findViewById(R.id.sub);
Button add=(Button)findViewById(R.id.add);
final Button equal=(Button)findViewById(R.id.equal);
final Button point=(Button)findViewById(R.id.spot);
final EditText result=(EditText)findViewById(R.id.result);
result.setCursorVisible(true);
disableShowInput(result);
//点击文本框时光标始终在文本末尾
result.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
result.setSelection(result.getText().length());
}
});
zero.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
if(!(show_equation.toString().equals("0"))){
if(signal==0){
show_equation.append("0");
result.setText(show_equation);
result.setSelection(result.getText().length());
}else{
show_equation.delete(0,show_equation.length());
show_equation.append("0");
result.setText(show_equation);
result.setSelection(result.getText().length());
signal=0;
}
}
}
});
one.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(signal==0){
show_equation.append("1");
result.setText(show_equation);
result.setSelection(result.getText().length());
}else{
show_equation.delete(0,show_equation.length());
show_equation.append("1");
result.setText(show_equation);
result.setSelection(result.getText().length());
signal=0;
}
}
});
two.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(signal==0){
show_equation.append("2");
result.setText(show_equation);
result.setSelection(result.getText().length());
}else{
show_equation.delete(0,show_equation.length());
show_equation.append("2");
result.setText(show_equation);
result.setSelection(result.getText().length());
signal=0;
}
}
});
three.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(signal==0){
show_equation.append("3");
result.setText(show_equation);
result.setSelection(result.getText().length());
}else{
show_equation.delete(0,show_equation.length());
show_equation.append("3");
result.setText(show_equation);
result.setSelection(result.getText().length());
signal=0;
}
}
});
four.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(signal=