记录下自己写的作业
本来是用double类型的,有小数点的功能
但是经过老师的测试bug一堆,所以还是换成int了。
有小数点的有机会在实现吧
注释里面都有,写完我自己都不想看,希望以后还是能规范码字,该写成函数的写成函数
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
final String TAG = "zx";
//第一个数
int FirstNum = 0;
//第二个数
int SecondNum = 0;
//结果
int result = 0;
EditText editText1 = null;
EditText editText2 = null;
String text ="";
String text2 = "";
//判断是否是第一个数
Boolean isFirstNum = true;
//是否是 + 号
Boolean isAdd = false;
//是否是 - 号
Boolean isMinus = false;
// 是否是小数
Boolean isDecimal = false;
// 是否清屏
Boolean isClear = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText)findViewById(R.id.editText1);
editText2 = (EditText)findViewById(R.id.editText2);
}
@Override
public void onClick(View v) {
if (v instanceof Button){
String text = ((Button)v).getText().toString();
switch (text) {
case "0" :
//判断是否需要清屏 如果计算后直接输入+号就不用清屏
if (isClear){
Clear();
}
//判断是不是第一个数
if (isFirstNum){
//如果等于第一位0则返回
if (FirstNum == 0){
break;
}else {
//不是第一位 则将第一个数×10
FirstNum *= 10;
text2 += text;
editText1.setText(text2);
}
} else {
//第二个数 同上
if (SecondNum == 0){
break;
}else {
SecondNum *= 10;
text2 += text;
editText1.setText(text2);
}
}
break;
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
//判断是否需要清屏
if (isClear){
Clear();