为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

难度入门
时长 5小时 0分
学习人数
综合评分9.50
1125人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.4 逻辑清晰
说错了,是作者说2没问题,其实应该是有问题
Course cr3=new Course("3","test");
coursestoselect.add(2,cr3); //这里写2是没问题的,因为下标从0开始
在循环中使用try—catch语句块时,其中含用nextInt()之类的方法,假如输入类型不对,则会抛出异常,并且一直循环:

原因如下:
当某一扫描器抛出 InputMismatchException 时,该扫描器不会传递导致该异常的标记,因此可以通过其他某种方法来获取或跳过它。
这是java API文档中的原话。意思是说,如果nextInt方法没有成功解析出一个整数,那么你的输入不会被忽略。因为它或许能被其它格式解析。
那么你的程序中输入了a后,出现异常,number被赋值100,开始下一次循环,但这时数据缓冲区内你上次输入的a还在,并没有清除,这时继续解析a,还是错误,于是这个过程就一直重复下去了。
现在你要改的是,出现错误把这次的输入清除,只要在catch中,加一句:input.next()就搞定了!
也可以将Scanner写在try里面
在循环中使用try—catch语句块时,其中含用nextInt()之类的方法,假如输入类型不对,则会抛出异常,并且一直循环:
原因如下:
当某一扫描器抛出 InputMismatchException 时,该扫描器不会传递导致该异常的标记,因此可以通过其他某种方法来获取或跳过它。
这是java API文档中的原话。意思是说,如果nextInt方法没有成功解析出一个整数,那么你的输入不会被忽略。因为它或许能被其它格式解析。
java第三季没看懂。。。。。。。。

已采纳回答 / 蓝胖子Torres
对于s1和s2做的是赋值操作,而没有创建新的对象,所以引用相同。而s3和s4是用new关键字重新创建的对象,所以不同
洗牌和发牌的程序:
创建扑克牌:
创建两名玩家:
顺序:
for(Course cr:student.courses){
public void testForEachForSet(Student){
system.out.println();
String courseId=console.next();
if(cr.id.equals(courseId)){
student
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消