8. public class test {
9. public static void main(String [] a) {
10. assert a.length == 1;
11. }
12. }
Which two will produce an AssertionError? (Choose two.)
A. java test
B. java -ea test
C. java test file1
D. java -ea test file1
E. java -ea test file1 file2
F. java -ea:test test file1
Answer: BE此处断言a的长度为1~~可是答案BE看不懂什么意思java -ea这个命令是什么意思??
    谁帮我讲解一下这个知识点。。谢谢

解决方案 »

  1.   

    哦~~查了下是运行开关的意思。。
       那E选项java -ea test file1 file2又是什么意思呢??
      

  2.   

    试验过了·~除了BE其他都不报错,但是E选项的file1 file2是什么意思呢??
        谁能帮我讲解一下。。谢谢
      

  3.   


    file1 file 是命令行参数的意思,编译器会将这个参数作为main函数的参数。
    也就是说此时:a[0] == "file1"
                  a[1] == "file2"
    所以a.length == 2 
    所以会抛出AssertionError形如:java 文件名 x x x x ....  后面的xxxx都是参数,都会存储到a[]里面去
      

  4.   


    哦·~~了解了
      F. java -ea:test test file1这个不报错的原因是不是冒号??这个":"在这个起什么作用吗??
      

  5.   

    java -help你还可以看见其他参数的意思
      

  6.   


    没见过这种写法,这样写估计程序都不会执行,更别说抛AssertionError了......