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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾小贤OL 中级黑马   /  2014-8-22 21:22  /  1484 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package Test;
/**
* 编写一个可以获取文件扩展名的函数,
* 形参接收一个文件名字符串,返回一个扩展名字符串。
*/

public class Test7 {
        public static void main(String[] args){
                getFileExtension("Test2");
        }
        public static String getFileExtension(String name){
                return name == null || name.indexOf(".") == -1? null:name.substring(name.indexOf(".") + 1);
                }

}

9 个回复

倒序浏览
基础测试题里的,百度搜的,理解不了,帮帮忙!
回复 使用道具 举报

  1. 这个题就是单考你字符串的操作问题,subString 和 lastIndexOf
  2. 下面是这句话分析:
  3. return name == null || name.indexOf(".") == -1? null:name.substring(name.indexOf(".") + 1);
  4.             /*
  5.              * 这只是一个三元运算符的运算
  6.              * (1)? 前面是一个Boolean表达式,在你这个代码中为:name==null||name.indexof(".")==-1
  7.              *                 这个表达式是一个逻辑或的判断 :名字为空 或 name中没有小数点
  8.              *                 当这个表达式为真,则返回下面所说的表达式1,否则返回表达式2
  9.              * (2)? 后面是两个表达式,用:分开 分别为表达式1: null 和表达式2:name.substring(name.indexOf(".") + 1))
  10.              *                 表达式1很简单,就是空
  11.              *                 表达式2是一个字符串操作:截取name中最后一个小数点以后的内容,也就是后缀名
  12.              */
复制代码

回复 使用道具 举报

三克油,很详细
回复 使用道具 举报

你百度的答案逻辑不完整,如果这么一个文件 hehe.txt.java 就会解析错误,应该用后查询 lastIndexOf
回复 使用道具 举报
学习了。
回复 使用道具 举报
郑飞 高级黑马 2014-8-23 07:19:02
7#
没复习到 忘了好多{:3_49:}
回复 使用道具 举报
hejinzhong 发表于 2014-8-22 22:23
你百度的答案逻辑不完整,如果这么一个文件 hehe.txt.java 就会解析错误,应该用后查询 lastIndexOf ...

恩,我改了下,谢谢
回复 使用道具 举报
看了一遍,学习了
回复 使用道具 举报
我是来学习的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马