已采纳回答 / 慕无忌7406412
总体上说没有大问题,就是有一个地方有个小问题,按照书名找书那里,抛出“图书不存在”异常的时候(throw new NobookException("图书不存在,请重新输入");),是在for语句里面,程序无论如何都会抛出异常。因为当你输入书名是“西游记”的时候,当i循环到等于1 的时候抛出异常,当你输入的书名不是“西游记”的时候,i=0马上就抛出异常了。
2019-03-29
已采纳回答 / AlexanderW
此时此刻,你的obj是类型是Object(因为你equals的方法中传递过来的是一个Object),你使用了instanceof只是用来判断你的obj是不是Course的一个实例,但obj本身自己还是一个Object类型。如果你不进行一次强转,那么obj就无法访问到Course的成员变量和方法,那接下来的course.name这种代码编译器都会自动报错!所以一定要进行一次强转,obj才会真正变成Course
2019-03-27
最新回答 / 慕六六7126645
https://www.zhihu.com/question/28414001/answer/40733996 你可以看看这个,虽然我也不太懂
2019-03-27
已采纳回答 / qq_慕容0434117
首先导入的应该是java.util.List,而不是Java.awt.List,然后在构造方法中你创建了一个ArrayList但是并没有赋值给coursesToSelect, 应该写成coursesToSelect = new ArrayList();后面的(java.util.List)强制类型转换都去掉
2019-03-26
最赞回答 / 慕姐1289829
if(bookNum==i) System.out.println("book:"+book[i]); break;这里 要加括号 不然只执行一次就break了
2019-03-24
最新回答 / 慕无忌7406412
1.你在主方法里声明抛出异常,就是JVM来处理异常了,写不写都是一样,出现异常都会报错。2.这个问题无关紧要,就是select方法里没有声明会抛出InputMismatchException异常3.怎么连把代码连同格式一起粘贴上去?我知道可以选代码语言,但是选择Java后我复制的代码不会自动换行,只能我自己手动一行一行按回车换行。
2019-03-24
最新回答 / Viva啦啦啦Vida
1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
最赞回答 / weixin_慕侠4503377
这个问题我该怎么说呢,这个例子当然没有体现出继承的优越性。。。比如你要做个选课系统,所有可选课程里有选修课和必修课,其中“考试时间”熟悉是必修课的特有属性,“签到要求”是选修课的特有熟悉,就可以建一个父类course,它只有诸如名称序号一类的熟悉,而建两个子类进行管理,如果过段时间学校又开了“艺术类选修课"这种,可以再建一个子类。。。差不多这个意思吧,继承的好处有很多的,以后可以慢慢体会。
2019-03-22