简易计算器1.0
基于android studio的简易计算器
最终中模拟器上面的效果比较简陋
这个是第一个版本,之后应该还会修复bug
如果有需要就去获取吧。贴一点点代码,因为我很少写注释,如果想互相探讨一下,就留言吧,小白一枚,勿喷!
这个是计算器回退的实现代码,但是还有问题未搞定,就是当小数点之后的数字超过long的长度就会停止运行,这里应该可以用大数BigInteger解决,在这里插入代码片
public void back(){//回退效果,这里就多看看就能懂意思了
if(ed.getText().toString().indexOf(".")>0) {
double temp=Double.parseDouble(ed.getText().toString());
String[] a = String.valueOf(temp).split("\.");
String one=a[0];
String t=a[1];
if (t.length()<2){
int r=(int) temp;
ed.setText(String.valueOf®);
firstnumber=false;}
else {
long xiao=Long.valueOf(t);
xiao=xiao/10;
ed.setText(String.valueOf(one+"."+xiao));
firstnumber=false;
}
}
else if (Double.parseDouble(ed.getText().toString())<10){
ed.setText("");
}
else {
double temp1=Double.parseDouble(ed.getText().toString());
if (temp1>10){
int r=(int) temp1/10;
double rr=(double)r;
ed.setText(String.valueOf(rr));
firstnumber=false;}}
}
这里是点击运算符的操作:`在这里插入代码片`public void checked(){
if (fu){
if (fuhao.equals("=")){
result= Double.parseDouble(ed.getText().toString());
}else if (fuhao.equals("-")){
result-= Double.parseDouble(ed.getText().toString());
}
else if (fuhao.equals("+")){
result+= Double.parseDouble(ed.getText().toString());
}
else if (fuhao.equals("*")){
result*= Double.parseDouble(ed.getText().toString());
}
else if (fuhao.equals("/")){
result/= Double.parseDouble(ed.getText().toString());
}
else if (fuhao.equals("%")){
result%= Double.parseDouble(ed.getText().toString());
}
}
ed.setText(String.valueOf(result));
firstnumber=true;
}
}
下面是GitHub地址:
https://github.com/226upxiaoliu/oooooo
up小刘