A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一步步 中级黑马   /  2013-11-15 20:35  /  1412 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package test;
public class seven {
        public static void main(String[] args) {
               

        }

}、、、、、、、、、、、、、、
public String getPath(String path)
{
return path==null||path.lastIndexOf(".")==-1?null:path.substring(path.lastIndexOf(".")+1);
}、、、、、、、、、、、、、、、、、、、、、
这段代码、、、、、、、、、、、、、注释的地方有错误怎么回事?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

10 个回复

倒序浏览
没看懂,你这个是指你的代码写到类外面了吗?
回复 使用道具 举报
方法都到写到类外面去了

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
亲,提问得把问题描述清楚哦。
写代码首先要把格式搞清晰点~
回复 使用道具 举报
FFF 金牌黑马 2013-11-15 22:14:04
报纸
如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~
回复 使用道具 举报
第一个错误是你的类的方法体写在了类的大括号外面了,把下面的方法声明行和大括号以及中间的代码放进类的大括号中。
第二个错误你由第一个错误引起的,修改一下就没有错误了。
下面的那个方法,我感觉你返回的类型不是一种,path==null返回的是布尔值true或false,而接下来的是||运算符就是或者后面的运算,path.lastIndexOf(".")==-1?null:path.substring(path.lastIndexOf(".")+1);返回的不是null就是查询的"."的位置int型的数字了。你看一下你的逻辑应该是有问题吧,或者把后面的int再转一下String。
不过我试了一下,可以运行,不明白了。不过可以肯定你的方法判断逻辑有问题。
回复 使用道具 举报
哦,懂了。
上面的是有点问题,现在做一下说明,||运算优先于 ? :运算,所以?左面的优先运行,||两边的是一体的。加上小括号就是这样子:
return  (path == null ||  path.lastIndexOf(".") == -1) ? null : path.substring(path.lastIndexOf(".") + 1);
呵呵,真是的,把这细节都给忽略了。
附上JAVA运算符优先级表:

  1. 1    .  [  ]  (  )
  2. 2    ++  --  !  ~  instanceof
  3. 3    new (type)
  4. 4    *  /  %
  5. 5    +  -
  6. 6    >>  >>>  <<
  7. 7    >  <  >=  <=
  8. 8    ==  !=
  9. 9    &
  10. 10    ^
  11. 11    |
  12. 12    &&
  13. 13    ||
  14. 14    ? :
  15. 15    =  +=  -=  *=  /=  %=  ^=
  16. 16    &=  |=  <<=  >>=  >>>=
复制代码
回复 使用道具 举报
qq379264347 发表于 2013-11-15 22:49
哦,懂了。
上面的是有点问题,现在做一下说明,||运算优先于 ? :运算,所以?左面的优先运行,||两边的是一 ...

你怎看你楼上的评价,这有必要转化成String类型的吗?
回复 使用道具 举报
qq379264347 发表于 2013-11-15 22:36
第一个错误是你的类的方法体写在了类的大括号外面了,把下面的方法声明行和大括号以及中间的代码放进类的大 ...

请问你是怎么转的,其实这样做也对,就是把这段代码加到里面去
回复 使用道具 举报
亲,把错误提示写出来
回复 使用道具 举报
  1. public class eight {

  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub

  4.         }
  5.     //你将方法放到了类外面 = = 你再好好看看
  6.         public String getPath(String path)
  7.         {
  8.         return path==null||path.lastIndexOf(".")==-1?null:path.substring(path.lastIndexOf(".")+1);
  9.         }
  10. }
复制代码
做技术的,容不得粗心啊。  加油吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马