老师这个测试的答案是有问题的哦!!!

来源:2-3 Java 中 String 类的常用方法 Ⅰ

慕仰1315742

2015-11-25 23:45

老师这个测试的答案是有问题的哦!!!如果测试数据是这样的话:如下,结果竟然是正确的。                // Java文件名 String fileName = ".HelloWorld.java"; if (index!=-1&&index!=0&&prefix.equals(".java")) { System.out.println("Java文件名正确"); } else { System.out.println("Java文件名无效"); } 然而我们都知道,这样的fileName是不对的。打印结果是“正确”

写回答 关注

4回答

  • qq_倔強人生_0
    2016-01-27 01:54:54

    String fileName = ".HelloWorld.java"仔细看源代码那边字符串后面只有jav少了一个a所以报错

  • 雲中菩提
    2015-12-01 12:05:57

    index是“.”最后一次出现的位置。index!=-1&&index!=0是什么鬼, 明显是你自己写的条件有问题。

    qq_倔強人...

    条件没有问题,index!=-1&&index!=0这句话的意思就是点号必须出现且不能再首位,你去看看旁边的实例。等于-1表示的就是匹配没有结果,也就是没出现。

    2016-01-27 01:57:08

    共 1 条回复 >

  • 慕仰1315742
    2015-11-29 14:37:14

    字数有限制,看关键代码就知道我说的意思了,主要原因就是index的求法的问题,

    // 获取文件名中最后一次出现"."号的位置

    int index = fileName.lastIndexOf(".");

    这句代码就不能处理String fileName = ".HelloWorld.java";这样的文件名哦。

    低谷先生

    lastIndexOf()方法是获取最后一个“.” ,你使用最后一个位置来判断是否是第一个位置当然不对啦

    2015-12-08 21:10:02

    共 1 条回复 >

  • 慕冬雪
    2015-11-26 17:00:56

    代码不全吧, 能贴全么

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题