已采纳回答 / 幸福是可积的
没有,因为value可以重复,当通过value查找key时,编译器就不知道该返回哪一个key,因此发生异常
已采纳回答 / 小谢星
第一行代码:public Map<String, Student> students;这一行定义了一个Map对象第二行代码:Set<String> keySet = students.keySet();这一行students.keySet()通过Map对象的keySet方法,获取map中的key键的集合,注意keySet方法返回值是一个Set类型的对象,包含了所有的key对象,由于定义的时候泛型类型为<String,Student>,所以key被规范成String,在k...
2017-02-25
已采纳回答 / 幸福是可积的
你查阅API看到的format方法和你调用的方法的参数个数都不相同,这是重载特性的运用。你再看一下API,肯定还有其他的同名方法,但是参数只有一个且返回值是字符串的
2017-02-24
已采纳回答 / 幸福是可积的
没有也是可以的,当存在了ID时,就执行if里面的语句,而else里面的不会被执行,但是使用continue可以让循环直接返回循环到起始处,不使用continue的话,程序还会跳到else代码块后面去看一下是否有代码需要执行。
while(true)
{
if()
{
//continue;
}
else
{
}
System.out.printline("循环末尾")
}
你试一下这个就会感觉到不同了,虽然在课程中没有打印输出的这句代码,但是不使用c...
2017-02-24
已采纳回答 / 没有梦想的咸魚
你理解错了,构造方法中实例化是为了初始化对象的属性。例如:this.courses=new HashSet();这边的实例化的目的是为了后面调用student的courses属性。而声明时实例化,是将对象实例化,然后再调用。例如:Student st=new Student();这边的是实例化Student的对象st,然后后面就可以调用st.courses属性。如果构造器中不实例化这个courses,那你声明时就算将对象实例化了也无法调用。两者的含义不同,无可比性。
2017-02-23
已采纳回答 / xue5hen
(1)不可以,如果删除,执行时会报错。(2)用途 当你在命令行执行 java HelloWorld 时(假设已经用javac编译过),args可以用来接收额外的参数,比如: java HelloWorld param 然后你就可以用args[0]在代码中使用param这个参数了。
2017-02-23
已采纳回答 / Power_Man
对的 ,是java种最重要的一个包,类似的还有java.util, java.math.*;java.io.*;java.util.*;java.swt.*;
2017-02-22
已采纳回答 / 幸福是可积的
括号里填可能会引发异常的类的对象作为参数,进行异常的捕获
如
int a,b;
try
{
接收用户输入的a,b值
int c = a / b;//b可能为0,从而引发除0异常
}
catch(DivideByZeroException dbze)
{
处理代码
}
2017-02-21
已采纳回答 / ziom
要把 Math.random()*10用圆括号裹起来,不然会先将Math.random()生成的小于1的随机数转换成int再与10相乘,所以你这样写的话 (int) Math.random()的结果必然是0,在乘以10,结果也自然会是0求采纳!
2017-02-20