昨天讲了我的计算机,分别是显示数字与其他比较简单的按钮,今天要讲比较难的部分,啊是对我比较难的部分啦,就是打结很久的地方,如果你有想过怎麽做的话,那来看看我们的想法是否一样吧!
首先我先做一个think方法,通用加减乘除,就让他自己判断。
public void think(){
if(record == 0){
plus = temp;
num = 0;
tempplus = plus + num2;
plus = tempplus;
num2 = 0;
temp = plus;
}else if(record == 1){
if (temp == 0) {
negetive = temp;
num=0;
tempnegetive = num2;
}else {
negetive = temp;
num = 0;
tempnegetive = negetive - num2;
}
negetive = tempnegetive;
num2 =0;
temp = negetive;
}else if(record == 2){
if(temp == 0 && num2!=0){
temp = 1;
}
time = temp;
num = 0;
if(num2!=0) {
temptime = time * num2;
}else {
temptime = time;
}
time = temptime;
num2 = 0;
temp = time;
}else if(record == 3){
if(temp == 0){
temp = 1;
devide = temp;
num = 0;
tempdevide = num2 / devide;
}else {
devide = temp;
num = 0;
tempdevide = devide / num2;
}
devide = tempdevide;
num2 = 0;
temp = devide;
}
}
用record的数字判断刚刚是按哪个运算符号,0是加号,1是减号,2是乘号,3是除号
public void plus(View view){
if (record == 5){
record = 0;
}
think();
recordplus = 0;
record = 0;
number.setText( temp+"+");
warming++;
warm();
}
5是起始值,所以会变成0,如果不是5会让think做上个运算符号,再把record变成0,而think会做加号部分,把之前的数字和新抓到的数字num2相加,再把结果存起来,warm的部分之後再讲
public void negetive(View view){
if (record == 5){
record = 1;
}
think();
recordnegetive = 0;
record = 1;
number.setText( temp + "-");
warming++;
warm();
}
think里的做法就是,先判断temp是否为0,是就让tempnegetive等於num2,不是就tempnegetive = negetive - num2,最後数字存到temp里。
今天先到这里,明天来讲剩下的东西吧