最赞回答 / 慕粉1558189409
图中是在捕获自定义的异常的catch语句块中定义了一个RuntimeException异常,并再次抛出了它。你这里是建立了RuntimeException并抛出了。这是区别。 注释掉它就是不想让它运行啊(这问法滑了个稽)
2017-02-10
已采纳回答 / weibo_i萌到自然醒_0404065
String ID = console.next(); 你的位置要放在while里面public void testRemove(){ Scanner console = new Scanner(System.in); while (true){ System.out.println("请输入要删除的学生ID:"); String ID = console.next(); Student st = map.get(ID); if(s...
2017-02-09
最赞回答 / ziom
看需求,需要的时候就使用。比如你要存储多条数据,就可以用list集合。初学者其实不用考虑这种问题,等练习的多了,敲的代码多了,自然会遇到各种场景,也就能明白它的用处。求采纳。
2017-02-09
已采纳回答 / 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
最赞回答 / cesc7
从数据结构角度来说,其实你每次向哈希集中add一个元素,计算机都会通过哈希函数为其计算一个唯一的哈希值,并且将这个哈希值与集合中现有元素的哈希值比较,来保证集合中的元素不重复。同样地,哈希集的底层存储结构中,实际上是按照元素的哈希值从小到大“有序”存储的,只不过这个顺序和你输入的元素顺序不一定相同,因此我们说哈希集是无序的。但是无序不代表随机,哈希集输出时通常是按照哈希值的大小输出的,所以你每次输出的结果都是一样的。(至于视频中老师每次输出结果都不一样,应该是和编译器还有jdk版本有关吧,不同的版本哈希算...
2017-02-08
已采纳回答 / 慕粉1221151877
string.insert(11,"#")可以理解为新插入的"#"会成为该string的第11位. 另外请注意string的index是从0开始算的, 而不是1.
2017-02-07