计算器中if(!str1.equals("")&&str1.indexOf(".")==str1.length()-1)这句话什么意思
答案:2 悬赏:60 手机版
解决时间 2021-02-14 07:10
- 提问者网友:沉默的哀伤
- 2021-02-13 10:48
计算器中if(!str1.equals("")&&str1.indexOf(".")==str1.length()-1)这句话什么意思
最佳答案
- 五星知识达人网友:忘川信使
- 2021-02-13 12:06
str1不为空并且str1最后一位是小数点时,提示:最后一位不能为.
str1.indexOf(".") 表示.最后出现的位置追问!str1.equals("") equals 方法被用来检测两个对象是否相等,即两个对象的内容是否相等,返回值是TRUE或FLASe
str1.indexOf(".")求的是索引号位置他们二个怎么进行条件与(&&)运算???追答==的优先级大于&&。所以先判断str1.indexOf(".")==str1.length()-1,返回true或false,然后再和!str1.equals("")的返回值进行&&运算追问非常感谢你的耐心回答还有一个问题也是计算器上的当运算符的情况下它的这句我有点看不懂求赐教
if(str.equals("="))
{
txt.setText(result+"");
str3="";
number=result;
}
//保存number
result=number;
//保留运算符
str2=str;
count=0;
}追答如果只是这一段代码没什么难的。当str是=时,那结果填到txt中,置为str3为""。result值赋给number,从代码上的理解。result,number,str1,str3具体是什么不知道没法给你详细解释。
str1.indexOf(".") 表示.最后出现的位置追问!str1.equals("") equals 方法被用来检测两个对象是否相等,即两个对象的内容是否相等,返回值是TRUE或FLASe
str1.indexOf(".")求的是索引号位置他们二个怎么进行条件与(&&)运算???追答==的优先级大于&&。所以先判断str1.indexOf(".")==str1.length()-1,返回true或false,然后再和!str1.equals("")的返回值进行&&运算追问非常感谢你的耐心回答还有一个问题也是计算器上的当运算符的情况下它的这句我有点看不懂求赐教
if(str.equals("="))
{
txt.setText(result+"");
str3="";
number=result;
}
//保存number
result=number;
//保留运算符
str2=str;
count=0;
}追答如果只是这一段代码没什么难的。当str是=时,那结果填到txt中,置为str3为""。result值赋给number,从代码上的理解。result,number,str1,str3具体是什么不知道没法给你详细解释。
全部回答
- 1楼网友:夜余生
- 2021-02-13 12:13
if(!str1.equals("")&&str1.indexOf(".")==str1.length()-1)表示如果str1不为空,并且str1的最后一位是小数点,就显示一条信息"最后一位不能为."(最后一位不能为小数点)。追问!str1.equals("") equals 方法被用来检测两个对象是否相等,即两个对象的内容是否相等,返回值是TRUE或FLASe
str1.indexOf(".")求的是索引号位置他们二个怎么进行条件与(&&)运算???追答!str1.equals("")返回值是TRUE或FLASE没错,str1.indexOf(".")返回的是索引号位置也没错,但是索引号后面还有呢,==str1.length()-1是判断索引号是否等于字符串长度减一,也就是判断最后一位是否小数点,这个str1.indexOf(".")==str1.length()-1返回的是TRUE或FLASE,因为==和-的优先级高所以先计算,所以不会出现TRUE或FLASE和索引号位置与的问题。追问非常感谢你的耐心回答还有一个问题也是计算器上的当运算符的情况下它的这句我有点看不懂求赐教
if(str.equals("="))
{
txt.setText(result+"");
str3="";
number=result;
}
//保存number
result=number;
//保留运算符
str2=str;
count=0;
}追答这一段程序是说:当运算符等于等号时,把结果result在txt显示出来,把str3设为空,把result赋给number。然后,把number保存到result,把运算符str保存到str2,把count设为0。追问你的回答相当完美!!因为回答时间先后没能给你为满意答案忘见谅。追答知道了。
str1.indexOf(".")求的是索引号位置他们二个怎么进行条件与(&&)运算???追答!str1.equals("")返回值是TRUE或FLASE没错,str1.indexOf(".")返回的是索引号位置也没错,但是索引号后面还有呢,==str1.length()-1是判断索引号是否等于字符串长度减一,也就是判断最后一位是否小数点,这个str1.indexOf(".")==str1.length()-1返回的是TRUE或FLASE,因为==和-的优先级高所以先计算,所以不会出现TRUE或FLASE和索引号位置与的问题。追问非常感谢你的耐心回答还有一个问题也是计算器上的当运算符的情况下它的这句我有点看不懂求赐教
if(str.equals("="))
{
txt.setText(result+"");
str3="";
number=result;
}
//保存number
result=number;
//保留运算符
str2=str;
count=0;
}追答这一段程序是说:当运算符等于等号时,把结果result在txt显示出来,把str3设为空,把result赋给number。然后,把number保存到result,把运算符str保存到str2,把count设为0。追问你的回答相当完美!!因为回答时间先后没能给你为满意答案忘见谅。追答知道了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯