创建人 | 崔周洋 |
问题标题 | 掌握和理解不够熟练 |
问题分类 | 对于try...catch....的运用掌握的不熟练 |
一级话题 | |
问题补充 | |
附件 | public static void main(String[] args) { try{ int num1 = 2; int num2 = 0; int result = num1/num2; System.out.println(result); throw new NumberFormatException(); }catch (ArrayIndexOutOfBoundsException e){ System.out.print("1"); }catch (NumberFormatException e){ System.out.println("2"); }catch (Exception e){ System.out.println("3"); }finally { System.out.println("4"); } System.out.println("5"); } |
问题答案 | 问题分析: 因为try块中发生的是0作为除数的异常,前两个catch块捕获的为索引越界异常和数字格式化异常,所以不进行运行, exception可以捕获到所有异常,finally是只要运行了try块或者catch块都会运行.所以结果为345. |
创建人 | 崔周洋 |
问题标题 | 得到的结果与要求不一致. |
问题分类 | 编译通过无结果 |
一级话题 | |
问题补充 | |
附件 | public class tttt { public static void main(String[] args) { MyThread t = new MyThread(); t.run(); } } class MyThread extends Thread{ public void start(){ for (int i = 0; i < 10; i++) { System.out.println("Value="+i); } } } |
问题答案 | 问题分析: 因为没有进行run方法的重写,所以调用的run方法是原来的run方法, 其中没有具体的实现功能,所以编译通过,但是没有输出. 重写的是start方法,编译并不会报错,只是不会再开启线程,而是按照重写的功能进行实现. |
问题解决方法: 重写run方法,进行调用; |
创建人 | 崔周洋 |
问题标题 | 编译问题 |
问题分类 | 缺失语句 |
一级话题 | |
问题补充 | |
附件 | /* 假设当前项目根路径下test.txt文件内容为www.itcast.cn;一下代码运行后 test.txt文件中的内容是: */ public class tttt { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("test.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt")); String str = br.readLine(); if(str!=null){ bw.write("官网:"+str); bw.flush(); } br.close(); bw.close(); } } |
问题答案 | 问题分析: 因为BufferedReader后没有加true 所以不会在原有的基础上续写,而是清空文件中的内容. |
问题解决方法: 想要在原有内容中续写内容需要在BufferedReader后加上true |
创建人 | 崔周洋 |
问题标题 | SQL语言中,删除EMP表中全部数据的命令正确的是 |
问题分类 | 对于方法的使用掌握不熟练 |
一级话题 | |
问题补充 | |
附件 | delete*from emp |
问题答案 | 问题分析: 删除表的语法为delete from 表名 [where 条件]; 不加条件代表删除所有,除此truncate table 表名也可以删除表数据,所以选项不该加*. |
问题解决方法: 去掉delete后的 * . |
创建人 | 崔周洋 |
问题标题 | 非静态方法的同步锁对象是哪一个呢? |
问题分类 | 理解掌握不熟练 |
一级话题 | |
问题补充 | |
附件 | |
问题答案 | 问题分析: 解析:非静态方法的同步锁对象为this Ps: 1.this:相当于只有一把钥匙的多把锁,他可以锁住多个代码块,但是每次开锁只能一个,如果钥匙在其他代码块手上,那么新来的被锁的多个代码块就拿不到钥匙,进不了方自己的代码块 2.object:每一个object相当于一把锁,那么不同的锁会有不同的钥匙,这样如果自己的锁不同,一样的锁没有被其他人占据,自己开始能进入代码块 3.类.clss:这是静态的锁,应为静态就带有this的含义,所以不能用this,而用类.class |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |