已采纳回答 / ziom
testEx2()会出异常,但是你把catch注释了,它当然捕获不到,而且因为这是非检查异常,所以系统不会自动抛出,所以定义testEx2() 时后面的throws Exception等于没起到作用,也即上一级的testEx1()和testEx()都不会捕获到异常
2017-02-08
已采纳回答 / 小草好闲
这个问题应该是你用的JDK是1.8的吧,因为在JDK8版java.util.HashMap内的hash算法比JDK7版的混淆程度低,在[0, 2^32-1]范围内经过HashMap.hash()之后还是得到自己,所以元素值很小时还是有序的。可以试试把元素值加大就行了,结果就会是无序的了。
2017-02-08
16行 String index = fileName.substring(fileName.length()-5,fileName.length()-4);
19行 String prefix =fileName.substring(fileName.length()-4, fileName.length());
22行 if (index.equals(".")&&prefix.equals("java"))
36行 int index2 = fileName.indexOf("@");
19行 String prefix =fileName.substring(fileName.length()-4, fileName.length());
22行 if (index.equals(".")&&prefix.equals("java"))
36行 int index2 = fileName.indexOf("@");
2017-02-08
最赞回答 / cesc7
从数据结构角度来说,其实你每次向哈希集中add一个元素,计算机都会通过哈希函数为其计算一个唯一的哈希值,并且将这个哈希值与集合中现有元素的哈希值比较,来保证集合中的元素不重复。同样地,哈希集的底层存储结构中,实际上是按照元素的哈希值从小到大“有序”存储的,只不过这个顺序和你输入的元素顺序不一定相同,因此我们说哈希集是无序的。但是无序不代表随机,哈希集输出时通常是按照哈希值的大小输出的,所以你每次输出的结果都是一样的。(至于视频中老师每次输出结果都不一样,应该是和编译器还有jdk版本有关吧,不同的版本哈希算...
2017-02-08
while(s.indexOf('a') >= 0)
{
s=s.substring(s.indexOf('a') + 1);
num++;
}
{
s=s.substring(s.indexOf('a') + 1);
num++;
}
2017-02-08
已采纳回答 / 慕粉1221151877
string.insert(11,"#")可以理解为新插入的"#"会成为该string的第11位. 另外请注意string的index是从0开始算的, 而不是1.
2017-02-07
已采纳回答 / ziom
Exception分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显式的捕获,而UncheckedException不需要捕获
int index = fileName.lastIndexOf('.');
String prefix =fileName.substring(index+1);
if ( prefix.equals("java")&&fileName.indexOf('.')>0 &&index!=-1 ) {
int index2 = email.indexOf('@');
String prefix =fileName.substring(index+1);
if ( prefix.equals("java")&&fileName.indexOf('.')>0 &&index!=-1 ) {
int index2 = email.indexOf('@');
2017-02-07