You must know the construction of the main method.
The exam will try to make confuse about this.If you search, books and exercice,
you can see that link : Certification Sun SCJP
Note : the solutions of the exercise are at the end.
Exercice 1 :
Given the following :
public class Test {
  public static void main(String args) {
      System.out.println("Helllo");
  }
}
What is the result ? (choose one)
A Helllo
B Hell
C Compilation fails
D An exception is thrown at runtime
Exercice 2 :
Given the following :
public class Test {
  public static void main(String [] arg) {
      System.out.println("Helllo");
  }
}
What is the result ? (choose one)
A Helllo
B Hel
C Compilation fails
D An exception is thrown at runtime
Exercise 3 :
Given the following :
public class Test {
  public void main(String [] argS) {
      System.out.println("Helllo");
  }
}
What is the result ? (choose one)
A Helllo
B Hel
C Compilation fails
D An exception is thrown at runtime
Exercise 4 :
Given the following :
public class Test {
  public static void main(String [] test) {
      System.out.println(test[0]);
  }
}
and the command line evocation is
  java Test X 1 t
What is the result ? (choose one)
A Test
B X
C 1
D t
C Compilation fails
D An exception is thrown at runtime
Solution :
Exercise 1 :
There is no [] that 's why, there is an error at execution.The compilator doesn't see
the main method.It see a method so when you launch your application, it thows an exception :
Exception in thread "main" java.lang.NoClassDefFoundError: Test (wrong name: packet/Test)
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
      at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Test.  Program will exit.
The answer is D.
Exercise 2 :
You will see Helllo on the scree.
Note : you can name the main method argument differently if you wish.
Exercise 3 :
The correct answer is D because the compilator search main method but there is not correct
main method like public static void main(String [] args) {
Exercise 4 :
The good solution is B (X).
 
No comments:
Post a Comment