解释一下 double cnt=0; if(!s1.equals("")&&!s2.equals("")){ double d1=Double.parseDouble(s1); double d2=Double.parseDouble(s2); if(op.equals("+")){ cnt=d1+d2; } if(op.equals("-")){ cnt=d1-d2; } if(op.equals("×")){ cnt=d1*d2; } if(op.equals("÷")){ if(d2==0) cnt=0; else cnt=d1/d2; } if(!s1.contains(".")&&!s2.contains(".")&&!op.equals("÷")) { int res = (int) cnt; et_input.setText(res+""); }else { et_input.setText(cnt+"");} } //如果s1是空 s2不是空 就执行下一步 else if(!s1.equals("")&&s2.equals("")){ double d1=Double.parseDouble(s1); if(op.equals("+")){ cnt=d1; } if(op.equals("-")){ cnt=d1; } if(op.equals("×")){ cnt=0; } if(op.equals("÷")){ cnt=0; } if(!s1.contains(".")) { int res = (int) cnt; et_input.setText(res+""); }else { et_input.setText(cnt+"");} } //如果s1是空 s2不是空 就执行下一步 else if(s1.equals("")&&!s2.equals("")){ double d2=Double.parseDouble(s2); if(op.equals("+")){ cnt=d2; } if(op.equals("-")){ cnt=0-d2; } if(op.equals("×")){ cnt=0; } if(op.equals("÷")){ cnt=0; } if(!s2.contains(".")) { int res = (int) cnt; et_input.setText(res+""); }else { et_input.setText(cnt+"");} } else { et_input.setText(""); } }
时间: 2024-02-15 12:07:13 浏览: 137
这段代码是一个计算器的核心逻辑,主要是根据用户输入的两个数和运算符进行计算,并将结果显示在输入框中。
首先,代码定义了一个变量`cnt`,用于存储计算结果,初始化为0。然后通过判断输入框中的两个数`s1`和`s2`是否为空,以及运算符`op`的类型,进行不同的计算。如果两个数都不为空,根据运算符的类型进行加减乘除的计算,并将结果存入`cnt`中。如果两个数都是整数,且运算符不是除法,将结果转换成整数后显示在输入框中;否则直接显示浮点数结果。
接下来,如果`s1`不为空而`s2`为空,说明用户只输入了一个数和一个运算符,此时根据运算符的类型进行特定的计算,结果存入`cnt`中。如果`s1`是整数,将结果转换成整数后显示在输入框中,否则直接显示浮点数结果。
如果`s1`为空而`s2`不为空,说明用户只输入了一个数和一个运算符,此时根据运算符的类型进行特定的计算,结果存入`cnt`中。如果`s2`是整数,将结果转换成整数后显示在输入框中,否则直接显示浮点数结果。
最后,如果`s1`和`s2`都为空,说明用户没有输入任何内容,此时将输入框清空。
相关问题
为什么你在上面写的程序中判断是用if((a == 2 && cnt == 0) || (b == 4 && cnt == 1) || (c != 3 && cnt == 2) || (d == 2 && cnt == 3))
这段代码是在判断一个数组中是否存在特定的元素,其中a、b、c、d是数组中的元素,cnt是一个计数器,用于记录已经判断过的元素个数。
这个if语句中的条件表达式是由四个子条件组成的,每个子条件都是由两个条件组成的逻辑与运算。其中,第一个子条件判断数组中的第二个元素是否为2且计数器为0,第二个子条件判断数组中的第四个元素是否为4且计数器为1,第三个子条件判断数组中的第三个元素是否不为3且计数器为2,第四个子条件判断数组中的第二个元素是否为2且计数器为3。
这个if语句的作用是判断数组中是否存在特定的元素,如果存在则返回true,否则返回false。这个判断条件是根据具体的需求而定的,可能是根据业务逻辑或者其他需求来确定的。
if cnt%2!=0
"if cnt%2!=0" 这是一个条件判断语句,在很多编程语言中,比如Python或C++,这里的`cnt`是一个整数变量,`%`表示取模运算。这个表达式的意思是检查`cnt`除以2的余数是否不等于0。如果余数是1(即`cnt`是奇数),那么这个条件为真(`True`),程序会执行紧跟其后的代码;如果余数是0(即`cnt`是偶数),条件为假(`False`),则可能不会执行那些代码,或者执行另外的分支。
例如,在控制循环次数或者分配任务给两个组时,这样的条件可以用来确保每组得到相同的数量,除非总数是奇数。
阅读全文