计算器中if(!str1.equals("")&&str1.indexOf(".")==str1.length()-1)这句话什么意思

if(str.equals("+")||str.equals("-")||str.equals("*")||str.equals("/")||str.equals("%"... if(str.equals("+")||str.equals("-")||str.equals("*")||str.equals("/")||str.equals("%")||str.equals("sqrt")||str.equals("1/x")||str.equals("=")||str.equals("+/-"))
{
if(!str1.equals("")&&str1.indexOf(".")==str1.length()-1)
{
JOptionPane.showMessageDialog(null, "最后一位不能为.");
}
展开
 我来答
紫薇参星
科技发烧友

2012-05-28 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3575万
展开全部
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和索引号位置与的问题。
我是谁我在哪我要干什么呢
2012-05-28 · TA获得超过560个赞
知道小有建树答主
回答量:350
采纳率:100%
帮助的人:373万
展开全部
str1不为空并且str1最后一位是小数点时,提示:最后一位不能为.
str1.indexOf(".") 表示.最后出现的位置
更多追问追答
追问
!str1.equals("") equals 方法被用来检测两个对象是否相等,即两个对象的内容是否相等,返回值是TRUE或FLASe       
str1.indexOf(".")求的是索引号位置他们二个怎么进行条件与(&&)运算???
追答
==的优先级大于&&。所以先判断str1.indexOf(".")==str1.length()-1,返回true或false,然后再和!str1.equals("")的返回值进行&&运算
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式