Page: 2
15. Development
Q: 05 Click the Task button.

Solution:
- package com.bar;
- import com.foo.bar.*;
- import com.foo.bar.blatz.*;
Q: 06 Given:
1. package com.company.application;
2.
3. public class MainClass {
4. public static void main(String[] args) {}
5. }
And MainClass exists in the /apps/com/company/application directory. Assume the CLASSPATH
environment variable is set to "." (current directory).
Which two java commands entered at the command line will run MainClass? (Choose two.)
A. java MainClass if run from the /apps directory
B. java com.company.application.MainClass if run from the /apps directory
C. java -classpath /apps com.company.application.MainClass if run from any directory
D. java -classpath . MainClass if run from the /apps/com/company/application directory
E. java -classpath /apps/com/company/application:. MainClass if run from the /apps directory
F. java com.company.application.MainClass if run from the /apps/com/company/application directory
Answer: B, C
Q: 07 Given a correctly compiled class whose source code is:
1. package com.sun.sjcp;
2. public class Commander {
3. public static void main(String[] args) {
4. // more code here
5. }
6. }
Assume that the class file is located in /foo/com/sun/sjcp/, the current directory is /foo/, and that the classpath contains "." (current directory).
Which command line correctly runs Commander?
A. java Commander
B. java com.sun.sjcp.Commander
C. java com/sun/sjcp/Commander
D. java -cp com.sun.sjcp Commander
E. java -cp com/sun/sjcp Commander
Answer: B
Q: 08
A UNIX user named Bob wants to replace his chess program with a new one,
but he is not sure where the old one is installed. Bob is currently able to run a Java chess program starting from his home directory /home/bob using the command:
java -classpath /test:/home/bob/downloads/*.jar games.
Chess Bob's CLASSPATH is set (at login time) to:
/usr/lib:/home/bob/classes:/opt/java/lib:/opt/java/lib/*.jar
What is a possible location for the Chess.class file?
A. /test/Chess.class
B. /home/bob/Chess.class
C. /test/games/Chess.class
D. /usr/lib/games/Chess.class
E. /home/bob/games/Chess.class
F. inside jarfile /opt/java/lib/Games.jar (with a correct manifest)
G. inside jarfile /home/bob/downloads/Games.jar (with a correct manifest)
Answer: C
09. Given these classes in different files:
package xcom;
public class Useful {
int increment(int x) { return ++x; }
}
import xcom.*; // line 1
class Needy3 {
public static void main(String[] args) {
xcom.Useful u = new xcom.Useful(); // line 2
System.out.println(u.increment(5));
}
}
Which statements are true? (Choose all that apply.)
A. The output is 0. B. The output is 5.
C. The output is 6. D. Compilation fails.
E. The code compiles if line 1 is removed.
F. The code compiles if line 2 is changed to read
Useful u = new Useful();
Answer:
-> D is correct. The increment() method must be marked public to be accessed outside of the package. If increment() was public, C, E, and F would be correct..
-> A and B are incorrect output, even if increment() is public. (Objective 7.1)
10. Given the following directory structure:
org
| -- Robot.class
|
| -- ex
|-- Pet.class
|
|-- why
|-- Dog.class
And the following source file:
class MyClass {
Robot r;
Pet p;
Dog d;
}
Which statement(s) must be added for the source file to compile? (Choose all that apply.)
A. package org;
B. import org.*;
C. package org.*;
D. package org.ex;
E. import org.ex.*;
F. package org.ex.why;
G. package org.ex.why.Dog;
Answer:
-> B , E, and F are required. The only way to access class Dog is via F, which is a package statement. Since you can have only one package statement in a source file, you have to get access to class Robot and class Pet using import statements. Option B accesses Robot, and option E accesses Pet.
-> A, C, D, and G are incorrect based on the above. Also, C and G are incorrect syntax.
Page: 2
1
2
3
4