Answer To Question 1
Answer To Question 1
Answer To Question 1
1) float f=1.3;
2) char c="a";
3) byte b=257;
4) boolean b=null;
5) int i=10;
Answer to Question 1
Question 2)
What will happen if you try to compile and run the following code
Answer to Question 2
Question 3)
1)
import java.awt.*;
package Mypackage;
class Myclass {}
2)
package MyPackage;
import java.awt.*;
class MyClass{}
3)
/*This is a comment */
package MyPackage;
import java.awt.*;
class MyClass{}
Answer to Question 3
Question 4)
1) -128 to 127
2) (-2 power 8 )-1 to 2 power 8
3) -255 to 256
4)depends on the particular implementation of the Java Virtual machine
Answer to Question 4
Question 5)
What will be printed out if this code is run with the following command line?
Answer to Question 5
Question 6)
1) if
2) then
3) goto
4) while
5) case
Answer to Question 6
Question 7)
1) 2variable
2) variable2
3) _whatavariable
4) _3_
5) $anothervar
6) #myvar
Answer to Question 7
Question 8)
What will happen when you compile and run the following code?
Answer to Question 8
Question 9)
What will happen if you try to compile and run the following code?
public class Q {
public static void main(String argv[]){
int anar[]=new int[]{1,2,3};
System.out.println(anar[1]);
}
}
1) 1
2) Error anar is referenced before it is initialized
3) 2
4) Error: size of array must be defined
Answer to Question 9
Question 10)
What will happen if you try to compile and run the following code?
public class Q {
public static void main(String argv[]){
int anar[]=new int[5];
System.out.println(anar[0]);
}
}
Answer to Question 10
Question 11)
What will be the result of attempting to compile and run the following code?
Answer to Question 11
Question 12)
What will be printed out if you attempt to compile and run the following code ?
int i=1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
default:
System.out.println("default");
}
1) one
2) one, default
3) one, two, default
4) default
Answer to Question 12
Question 13)
What will be printed out if you attempt to compile and run the following code?
int i=9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
1) default
2) default, zero
3) error default clause not defined
4) no output displayed
Answer to Question 13
Question 14)
1)
int i=0;
if(i) {
System.out.println("Hello");
}
2)
boolean b=true;
boolean b2=true;
if(b==b2) {
System.out.println("So true");
}
3)
int i=1;
int j=2;
if(i==1|| j==2)
System.out.println("OK");
4)
int i=1;
int j=2;
if(i==1 &| j==2)
System.out.println("OK");
Answer to Question 14
Question 15)
What will be output if you try to compile and run the following code, but there is
no file called Hello.txt in the current directory?.
import java.io.*;
public class Mine {
public static void main(String argv[]){
Mine m=new Mine();
System.out.println(m.amethod());
}
public int amethod() {
try {
FileInputStream dis=new FileInputStream("Hello.txt");
}catch (FileNotFoundException fne) {
System.out.println("No such file found");
return -1;
}catch(IOException ioe) {
} finally{
System.out.println("Doing finally");
}
return 0;
}
Answer to Question 15
Question 16)
Answer to Question 16
Question 17)
What will happen if you attempt to compile and run the following code?
class Base {}
class Sub extends Base {}
class Sub2 extends Base {}
public class CEx{
public static void main(String argv[]){
Base b=new Base();
Sub s=(Sub) b;
}
}
Answer to Question 17
Question 18)
Answer to Question 18
Question 19)
What will happen when you attempt to compile and run the following code?
}
public void piggy(String sName){
sName = sName + " wiggy";
start();
}
public void run(){
}
}
}
1) Compile time error
2) Compilation and output of "vandeleur wiggy"
3) Compilation and output of "vandeleur wiggy 0 1 2 3"
4) Compilation and output of either "vandeleur", "vandeleur 0", "vandeleur 0 1"
"vandaleur 0 1 2" or "vandaleur 0 1 2 3"
Answer to Question 19
Question 20)
What will be displayed when you attempt to compile and run the following code
//Code start
import java.awt.*;
public class Butt extends Frame{
public static void main(String argv[]){
Butt MyBut=new Butt();
}
Butt(){
Button HelloBut=new Button("Hello");
Button ByeBut=new Button("Bye");
add(HelloBut);
add(ByeBut);
setSize(300,300);
setVisible(true);
}
}
//Code end
1) Two buttons side by side occupying all of the frame, Hello on the left and Bye on
the right
2) One button occupying the entire frame saying Hello
3) One button occupying the entire frame saying Bye
4) Two buttons at the top of the frame one saying Hello the other saying Bye
Answer to Question 20
Question 21)
Answer to Question 21
Question 22)
Answer to Question 22
Question 23)
Which of the following methods can be legally inserted in place of the comment
//Method Here ?
class Base{
public void amethod(int i) { }
}
Answer to Question 23
Question 24)
1) System.out.println(Math.floor(-4.7));
2) System.out.println(Math.round(-4.7));
3) System.out.println(Math.ceil(-4.7));
4) System.out.println(Math.min(-4.7));
Answer to Question 24
Question 25)
What will happen if you attempt to compile and run the following code?
1) 19 followed by 20
2) 19 followed by 11
3) Compile time error
4) 10 followed by 1
Answer to Question 25
Question 26)
1) Bic
2) ic
3) icy
4) error: no method matching substring(int,char)
Answer to Question 26
Question 27)
If you wanted to find out where the position of the letter v (ie return 2) in the string s
containing "Java", which of the following could you use?
1) mid(2,s);
2) charAt(2);
3) s.indexOf('v');
4) indexOf(s,'v');
Answer to Question 27
Question 28)
1) s3=s1 + s2;
2) s3=s1-s2;
3) s3=s1 & s2;
4) s3=s1 && s2
Answer to Question 28
Question 29)
System.out.println(4 | 3);
1) 6
2) 0
3) 1
4) 7
Answer to Question 29
Question 30)
Answer to Question 30
Question 31)
What will happen when you attempt to compile and run the following code?
Holt(String s){
sThreadName = s;
}
public String getThreadName(){
return sThreadName;
}
Question 32)
An Applet has its Layout Manager set to the default of FlowLayout. What code would be
correct to change to another Layout Manager.
1) setLayoutManager(new GridLayout());
2) setLayout(new GridLayout(2,2));
3) setGridLayout(2,2);
4) setBorderLayout();
Answer to Question 32
Question 33)
What will happen when you attempt to compile and run the following code?.
}//End class
1) It will compile and the run method will print out the increasing value of i.
2) It will compile and calling start will print out the increasing value of i.
3) The code will cause an error at compile time.
4) Compilation will cause an error because while cannot take a parameter of true.
Answer to Question 33
Question 34)
}
class Turing extends Thread{
public void run(){
for(int i =0; i < 2; i++){
System.out.println(i);
}
}
Answer to Question 34
Question 35)
What will be the result when you attempt to compile and run the following code?.
Answer to Question 35
Question 36)
Given the following code, what test would you need to put in place of the comment line?
EqTest(){
String s="Java";
String s2="java";
//place test here {
System.out.println("Equal");
}else
{
System.out.println("Not equal");
}
}
}
1) if(s==s2)
2) if(s.equals(s2)
3) if(s.equalsIgnoreCase(s2))
4)if(s.noCaseMatch(s2))
Answer to Question 36
Question 37)
import java.awt.*;
public class SetF extends Frame{
public static void main(String argv[]){
SetF s=new SetF();
s.setSize(300,200);
s.setVisible(true);
}
Answer to Question 37
Question 38)
How can you change the current working directory using an instance of the File class
called FileName?
1) FileName.chdir("DirName")
2) FileName.cd("DirName")
3) FileName.cwd("DirName")
4) The File class does not support directly changing the current directory.
Answer to Question 38
Question 39)
1)With a fixed font you will see 5 characters, with a proportional it will depend on the
width of the characters
2)With a fixed font you will see 5 characters,with a proportional it will cause the field to
expand to fit the text
3)The columns setting does not affect the number of characters displayed
4)Both will show exactly 5 characters
Answer to Question 39
Question 40)
Given the following code how could you invoke the Base constructor that will print out
the string "base constructor";
class Base{
Base(int i){
System.out.println("base constructor");
}
Base(){
}
}
Answer to Question 40
Question 41)
Question 42)
What code placed after the comment //For loop would result in the population of every
element of the array ia[] with a value from variable i.?
Answer to Question 42
Question 43)
What will be the result when you try to compile and run the following code?
Answer to Question 43
Question 44)
1)12
2)012
3)10
4)10.0
Answer to Question 44
Question 45
What will happen when you try compiling and running this code?
Answer to Question 45
Question 46)
You need to create a class that will store unique object elements. You do not need to sort
these elements but they must be unique.
1)Set
2)List
3)Map
4)Vector
Answer to Question 46
Question 47)
Which of the following will successfully create an instance of the Vector class and add an
element?
Answer to Question 47
Question 48)
You have created a simple Frame and overridden the paint method as follows
What will be the result when you attempt to compile and run the program?
Answer to Question 48
Question 49)
What will be the result when you attempt to compile this program?
Answer to Question 49
Question 50)
import java.io.*;
public class Th{
public static void main(String argv[]){
Th t = new Th();
t.amethod();
}
public void amethod(){
try{
ioCall();
}catch(IOException ioe){}
}
}
What code would be most likely for the body of the ioCall method
Answer to Question 50
Question 51)
What will happen when you compile and run the following code?
Question 52)
You want to lay out a set of buttons horizontally but with more space between the first
button and the rest. You are going to use the GridBagLayout manager to control the way
the buttons are set out. How will you modify the way the GridBagLayout acts in order to
change the spacing around the first button?
1) Create an instance of the GridBagConstraints class, call the weightx() method and then
pass the GridBagConstraints instance with the component to the setConstraints method of
the GridBagLayout class.
2) Create an instance of the GridBagConstraints class, set the weightx field and then pass
the GridBagConstraints instance with the component to the setConstraints method of the
GridBagLayout class.
3) Create an instance of the GridBagLayout class, set the weightx field and then call the
setConstraints method of the GridBagLayoutClass with the component as a parameter.
4) Create an instance of the GridBagLayout class, call the setWeightx() method and then
pass the GridBagConstraints instance with the component to the setConstraints method of
the GridBagLayout class.
Answer to Question 52
Question 53)
Which of the following can you perform using the File class?
Answer to Question 53
Question 54)
}
}
}
public void run(){
for(int i =0; i < 2 ; i++){
try{
sleep(1000);
}catch(InterruptedException e){}
yield();
System.out.println(sTname);
}
}
}
Answer to Question 54
Question 55)
You are concerned that your program may attempt to use more memory than is available.
To avoid this situation you want to ensure that the Java Virtual Machine will run its
garbage collection just before you start a complex routine. What can you do to be certain
that garbage collection will run when you want .
Answer to Question 55
Question 56)
You are using the GridBagLayout manager to place a series of buttons on a Frame. You
want to make the size of one of the buttons bigger than the text it contains. Which of the
following will allow you to do that?
Answer to Question 56
Question 57)
Answer to Question 57
Question 58)
You have these files in the same directory. What will happen when you attempt to
compile and run Class1.java if you have not already compiled Base.java
//Base.java
package Base;
class Base{
protected void amethod(){
System.out.println("amethod");
}//End of amethod
}//End of class base
package Class1;
//Class1.java
public class Class1 extends Base{
public static void main(String argv[]){
Base b = new Base();
b.amethod();
}//End of main
}//End of Class1
1) Compile Error: Methods in Base not found
2) Compile Error: Unable to access protected method in base class
3) Compilation followed by the output "amethod"
4)Compile error: Superclass Class1.Base of class Class1.Class1 not found
Answer to Question 58
Question 59)
What will happen when you attempt to compile and run the following code
class Base{
private void amethod(int iBase){
System.out.println("Base.amethod");
}
}
Answer to Question 59
Question 60)
You are creating an applet with a Frame that contains buttons. You are using the
GridBagLayout manager and you have added Four buttons. At the moment the buttons
appear in the centre of the frame from left to right. You want them to appear one on top
of the other going down the screen. What is the most appropriate way to do this.
1) Set the gridy value of the GridBagConstraints class to a value increasing from 1 to 4
2) set the fill value of the GridBagConstraints class to VERTICAL
3) Set the ipady value of the GridBagConstraints class to a value increasing from 0 to 4
4) Set the fill value of the GridBagLayouts class to GridBag.VERTICAL
Answer to Question 60
If you have a copy of the Roberts and Heller Java2 Guide that says the exam does not
cover the GridBagLayout, this is an error. You can confirm this by looking at the online
errata at
http://www.sybex.com/cgi-bin/rd_err_temp.pl?2463err.html.
Answers
Answer 1)
Back to question 1)
Objective 4.5)
5) int i=10;
explanation:
1) float f=1.3;
Will not compile because the default type of a number with a floating point component is
a double. This would compile with a cast as in
2) char c="a";
Will not compile because a char (16 bit unsigned integer) must be defined with single
quotes. This would compile if it were in the form
char c='a';
3) byte b=257;
Will not compile because a byte is eight bits. Take of one bit for the sign component you
can define numbers between
-128 to +127
http://www.jchq.net/tutorial/04_05Tut.htm.
Answer 2)
Back to question 2)
Objective 4.1
Because main is defined as static you need to create an instance of the class in order to
call any non-static methods. Thus a typical way to do this would be.
m.amethod();
String argv[]
That argv is just a convention and any acceptable identifier for a string array can be used.
Answers 3 and 4 are just nonsense.
http://www.jchq.net/tutorial/04_01Tut.htm
Answer 3)
back to Question 3)
Objective 4.1)
http://www.jchq.net/tutorial/04_01Tut.htm .
Answer 4)
Back to question 4)
Objective 4.5)
http://www.jchq.net/tutorial/04_05Tut.htm
Answer 5)
Back to question 5)
Objective 4.2)
Unlike C/C++ java does not start the parameter count with the program name. It does
however start from zero. So in this case zero starts with good, morning would be 1 and
there is no parameter 2 so an exception is raised.
http://www.jchq.net/tutorial/04_02Tut.htm
Answer 6)
Back to question 6)
Objective 4.3)
1) if
3) goto
4) while
5) case
then is not a Java keyword, though if you are from a VB background you might think it
was. Goto is a reserved word in Java.
http://www.jchq.net/tutorial/04_03Tut.htm
Answer 7)
Back to Question 7)
Objective 4.1)
2) variable2
3) _whatavariable
4) _3_
5) $anothervar
http://www.jchq.net/tutorial/04_01Tut.htm
Answer 8)
Back to Question 8)
Objective 4.4)
4) 0
Class level variables are always initialised to default values. In the case of an int this will
be 0. Method level variables are not given default values and if you attempt to use one
before it has been initialised it will cause the
type of error.
http://www.jchq.net/tutorial/04_04Tut.htm
Answer 9)
Back to Question 9)
Objective 4.4)
3)2
http://www.jchq.net/tutorial/04_04Tut.htm
Answer 10)
3) 0
Arrays are always initialised when they are created. As this is an array of ints it will be
initalised with zeros.
http://www.jchq.net/tutorial/04_04Tut.htm
Answer 11)
A class that contains an abstract method must itself be declared as abstract. It may
however contain non abstract methods. Any class derived from an abstract class must
either define all of the abstract methods or be declared abstract itself.
http://www.jchq.net/tutorial/01_021Tut.htm
Answer 12)
Code will continue to fall through a case statement until it encounters a break.
http://www.jchq.net/tutorial/02_01Tut.htm
Answer 13)
2) default, zero
Although it is normally placed last the default statement does not have to be the last item
as you fall through the case block. Because there is no case label found matching the
expression the default label is executed and the code continues to fall through until it
encounters a break.
http://www.jchq.net/tutorial/04_01Tut.htm
Answer 14)
2,3
Example 1 will not compile because if must always test a boolean. This can catch out
C/C++ programmers who expect the test to be for either 0 or not 0.
http://www.jchq.net/tutorial/05_01Tut.htm
Answer 15)
The no such file found message is to be expected, however you can get caught out if you
are not aware that the finally clause is almost always executed, even if there is a return
statement.
http://www.jchq.net/tutorial/11_05Tut.htm
Answer 16)
Static methods cannot be overriden but they can be overloaded. If you have doubts about
that statement, please follow and read carefully the link given to the Sun tutorial below.
There is no logic or reason why private methods should not be overloaded. Option 4 is a
jumbled up version of the limitations of exceptions for overriden methods
http://www.jchq.net/tutorial/06_02Tut.htm
http://java.sun.com/docs/books/tutorial/java/javaOO/override.html
Answer 17)
3) Runtime Exception
Without the cast to sub you would get a compile time error. The cast tells the compiler
that you really mean to do this and the actual type of b does not get resolved until
runtime. Casting down the object hierarchy is a problem, as the compiler cannot be sure
what has been implemented in descendent classes. Casting up is not a problem because
sub classes will have the features of the base classes. This can feel counter intuitive if you
are aware that with primitives casting is allowed for widening operations (ie byte to int).
http://www.jchq.net/tutorial/06_02Tut.htm
Answer 18)
Java does not have a <<< operator. The operation 1 << 2 would output 4
Because of the way twos complement number representation works the unsigned right
shift operation means a small shift in a negative number can return a very large value so
the output of option 1 will be much larger than 10.
The unsigned right shift places no significance on the leading bit that indicates the sign.
For this shift the value 1 of the bit sign is replaced with a zero turning the result into a
positive number for option 2.
http://www.jchq.net/tutorial/05_01Tut.htm
Answer 19)
If that seems a vauge answer it is because you cannot be certain of the system that the
underlying OS uses for allocating cycles for a Thread. The chances are that once the
thread has been spun off in the call to start in the method piggy the main method will run
to completion and the value of sName will still be vandeluer before the Thread modifies
it. You cannot be certain of this though.
http://www.jchq.net/tutorial/07_01Tut.htm
Answer 20)
The default layout manager for a Frame is a border layout. If directions are not given (ie
North, South, East or West), any button will simply go in the centre and occupy all the
space. An additional button will simply be placed over the previous button. What you
would probably want in a real example is to set up a flow layout as in
setLayout(new FlowLayout());
Which would allow the buttons to both appear side by side, given the appropriate font
and size.
Applets and panels have a default FlowLayout manager
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 21)
1,2
The statement continue outer causes the code to jump to the label outer and the for loop
increments to the next number.
http://www.jchq.net/tutorial/02_02Tut.htm
Answer 22)
Back to Question 22)
Objective 7.3)
A call to wait/notify must be within synchronized code. With JDK1.2 this code throws
the error message
Answer 23)
Options 1, & 4 will not compile as they attempt to throw Exceptions not declared in the
base class. Because options 2 and 3 take a parameter of type long they represent
overloading not overriding and there is no such limitations on overloaded methods.
http://www.jchq.net/tutorial/02_03Tut.htm
Answer 24)
3) System.out.println(Math.ceil(-4.7));
Options 1 and 2 will produce -5 and option 4 will not compile because the min method
requires 2 parameters.
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 25)
Back to Question 25
Objective 4.5)
Depending on your compiler you will get an error that says someting like "Error: Can't
convert java lang Integer". Wrapper classes have similar names to primitives but all start
with upper case letters.
Thus in this case we have int as a primitive and Integer as a wrapper. The objectives do
not specifically mention the wrapper classes but don't be surprised if they come up.
http://www.jchq.net/tutorial/04_05Tut.htm
Answer 26)
This is a bit of a catch question. Anyone with a C/C++ background would figure out that
addressing in strings starts with 0 so that 1 corresponds to i in the string Bicycle. The
catch is that the second parameter returns the endcharacter minus 1. In this case it means
instead of the "icy" being returned as intuition would expect it is only "ic".
http://www.jchq.net/tutorial/04_05Tut.htm
Answer 27)
3) s.indexOf('v');
charAt returns the letter at the position rather than searching for a letter and returning the
position, MID is just to confuse the Basic Programmers, indexOf(s,'v'); is how some
future VB/J++ nightmare hybrid, might perform such a calculation.
http://www.jchq.net/tutorial/09_02Tut.htm
Answer 28)
Objective 5.1)
Back to Question 28
1) s3=s1 + s2;
Java does not allow operator overloading as in C++, but for the sake of convenience the +
operator is overridden for strings.
http://www.jchq.net/tutorial/05_01Tut.htm
Answer 29)
4) 7
The | is known as the Or operator, you could think of it as the either/or operator. Turning
the numbers into binary gives
4=100
3=011
For each position, if either number contains a 1 the result will contain a result in that
position. As every position contains a 1 the result will be
111
Which is decimal 7.
http://www.jchq.net/tutorial/05_03Tut.htm
Answer 30)
Back to Question 30
Objective 4.1)
1,2,3
public, private, static are all legal access modifiers for this inner class.
http://www.jchq.net/tutorial/04_01Tut.htm
Answer 31)
Back to Question 31
Objective 7.1
Note that this code overrides and calls the start method. If you wished to get the output
mixed you would need to override the run method but call the start method.
http://www.jchq.net/tutorial/07_01Tut.htm
Answer 32)
Changing the layout manager is the same for an Applet or an application. Answer 1 is
wrong though it might have been a reasonable name for the designers to choose. Answers
3 and 4 are incorrect because changing the layout manager always requires an instance of
one of the Layout Managers and these are bogus methods.
Instead of creating the anonymous instance of the Layout manager as in option 2 you can
also create a named instance and pass that as a parameter. This is often what automatic
code generators such as Borland/Inprise JBuilder do.
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 33)
The error is caused because run should have a void not an int return type.
Any class that is implements an interface must create a method to match all of the
methods in the interface. The Runnable interface has one method called run that has a
void return type.The sun compiler gives the error
Method redefined with different return type: int run() was defined as void run();
http://www.jchq.net/tutorial/07_01Tut.htm
Answer 34)
Answer 35)
Back to Question 35
Objective 5.1)
The only operator overloading offered by java is the + sign for the String class. A char is
a 16 bit integer and cannot be concatenated to a string with the + operator.
http://www.jchq.net/tutorial/05_01Tut.htm
Answer 36)
Back to Question 36
Objective 5.2)
3) if(s.equalsIgnoreCase(s2))
String comparison is case sensitive so using the equals string method will not return a
match. Using the==operator just compares where memory address of the references and
noCaseMatch was just something I made up to give me a fourth slightly plausible option.
http://www.jchq.net/tutorial/05_02Tut.htm
Answer 37)
Back to Question 37
Objective 8.1)
1) s.setBackground(Color.pink);
For speakers of the more British spelt English note that there is no letter u in Color. Also
the constants for colors are in lower case.
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 38)
Back to Question 38)
Objective 11.1)
4) The File class does not support directly changing the current directory.
This seems rather surprising to me, as changing the current directory is a very common
requirement. You may be able to get around this limitation by creating a new instance of
the File class passing the new directory to the constructor as the path name.
http://www.jchq.net/tutorial/011_01Tut.htm
Answer 39)
1)With a fixed font you will see 5 characters, with a proportional it will depend on the
width of the characters
With a proportional font the letter w will occupy more space than the letter i. So if you
have all wide characters you may have to scroll to the right to see the entire text of a
TextField.
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 40)
http://www.jchq.net/tutorial/06_02Tut.htm
Answer 41)
3) 10 and 40
when a parameter is passed to a method the method receives a copy of the value. The
method can modify its value without affecting the original copy. Thus in this example
when the value is printed out the method has not changed the value.
http://www.jchq.net/tutorial/05_04Tut.htm
Answer 42)
Back to Question 42
Objective 1.1
Although you could control the looping with a literal number as with the number 4 used
in option 3, it is better practice to use the length property of an array. This provides
against bugs that might result if the size of the array changes. This question also checks
that you know that arrays starts from zero and not One as option 3 starts from one.
Remember that array length is a field and not a function like the String length() method.
http://www.jchq.net/tutorial/01_01Tut.htm
Answer 43)
This is a slightly sneaky one as it looks like a question about constructors, but it is
attempting to test knowledge of the use of the private modifier. A top level class cannot
be defined as private. If you didn't notice the modifier private, remember in the exam to
be real careful to read every part of the question.
http://www.jchq.net/tutorial/01_02Tut.htm
Answer 44)
Back to Question 44
Objective 4.5)
3)10
The name of the class might give you a clue with this question, Oct for Octal. Prefixing a
number with a zero indicates that it is in Octal format. Thus when printed out it gets
converted to base ten. 012 in octal means the first column from the right has a value of 2
and the next along has a value of one times eight. In decimal that adds up to 10.
http://www.jchq.net/tutorial/04_05Tut.htm
Answer 45)
Back to Question 45
Objective 1.2)
The variable i is created at the level of amethod and will not be available inside the
method multi.
http://www.jchq.net/tutorial/01_02Tut.htm
Answer 46)
Back to Question 46
Objective 10.1)
1) Set
The Set interface ensures that its elements are unique, but does not order the elements. In
reality you probably wouldn't create your own class using the Set interface. You would
be more likely to use one of the JDK classes that use the Set interface such as HashSet or
TreeSet.
http://www.jchq.net/tutorial/10_01Tut.htm
Answer 47)
Back to Question 47
Objective 10.1)
A vector can only store objects not primitives. The parameter "99" for the addElement
method pases a string object to the Vector. Option 1) creates a vector OK but then uses
array syntax to attempt to assign a primitive. Option 2 also creates a vector then uses
correct Vector syntax but falls over when the parameter is a primitive instead of an
object.
http://www.jchq.net/tutorial/10_01Tut.htm
Answer 48)
Objective 8.1)
Back to Question 48
3) The lower part of the word Dolly will be seen at the top of the form
The Second parameter to the drawstring method indicates where the baseline of the string
will be placed. Thus the 3rd parameter of 10 indicates the Y coordinate to be 10 pixels
from the top of the Frame. This will result in just the bottom of the string Dolly showing
up or possibly only the descending part of the letter y.
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 49)
This is a bit of a sneaky one as the Math.random method returns a pseudo random
number between 0 and 1, and thus option 3 is a plausible Answer. However the number
returned is a double and so the compiler will complain that a cast is needed to convert a
double to an int.
http://www.jchq.net/tutorial/09_01Tut.htm
Answer 50)
Objective 2.3)
Back to question 50
http://www.jchq.net/tutorial/02_03Tut.htm
Answer 51)
Objective 1.2)
Back to Question 51)
Because only one instance of a static method exists not matter how many instance of the
class exists it cannot access any non static variables. The JVM cannot know which
instance of the variable to access. Thus you will get an error saying something like
http://www.jchq.net/tutorial/01_02Tut.htm
Answer 52)
Objective 8.1)
Back to Question 52)
2) Create an instance of the GridBagConstraints class, set the weightx field and then pass
the GridBagConstraints instance with the component to the setConstraints method of the
GridBagLayout class.
The Key to using the GridBagLayout manager is the GridBagConstraint class. This class
is not consistent with the general naming conventions in the java API as you would
expect that weightx would be set with a method, whereas it is a simple field (variable).
If you have a copy of the Roberts and Heller Java2 Guide that says the exam does not
cover the GridBagLayout, this is an error which is corrected in later versions of the book
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 53)
Objective 11.1)
Back to Question 53)
It is surprising that you can't change the current directory. It is not so surprising that you
can't tell if a file contains text or binary information.
http://www.jchq.net/tutorial/11_01Tut.htm
Answer 54)
Answer 3 would would be true if the code called the start method instead of the run
method (well it is on my Windows machine anyway, I'm not sure it would be for ever
implementation of Java Threads). If you call the run method directly it just acts as any
other method and does not return to the calling code until it has finished executing.
http://www.jchq.net/tutorial/07_01Tut.htm
Answer 55)
Objective 3.1)
Back to Question 55)
Although there is a Runtime.gc(), this only suggests that the Java Virtual Machine does
its garbage collection. You can never be certain when the garbage collector will run.
Roberts and Heller is more specific abou this than Boone. This uncertainty can cause
consternation for C++ programmers who wish to run finalize methods with the same
intent as they use destructor methods.
http://www.jchq.net/tutorial/03_01Tut.htm
Answer 56)
Objective 8.1)
Back to Question 56)
4) The fill field of the GridBagConstraints class
Unlike the GridLayout manager you can set the individual size of a control such as a
button using the GridBagLayout manager. A little background knowledge would indicate
that it should be controlled by a setSomethingOrOther method, but it isn't.
If you have a copy of the Roberts and Heller Java2 Guide that says the exam does not
cover the GridBagLayout, this is an error. You can confirm this by looking at the online
errata at
http://www.sybex.com/cgi-bin/rd_err_temp.pl?2463err.html.
http://www.jchq.net/tutorial/08_01Tut.htm
Answer 57)
Objective 10.1)
Back to Question 57)
This is the description given to a bitset in Bruce Eckels "Thinking in Java" book. The
reference to unique sequence of bits was an attempt to mislead because of the use of the
word Set in the name bitset. Normally something called a set implies uniqueness of the
members, but not in this context.
http://www.jchq.net/tutorial/10_01Tut.htm
Answer 58)
Using the package statement has an effect similar to placing a source file into a different
directory. Because the files are in different packages they cannot see each other. The stuff
about File1 not having been compiled was just to mislead, java has the equivalent of an
"automake", whereby if it was not for the package statements the other file would have
been automatically compiled.
http://www.jchq.net/tutorial/04_01Tut.htm
Answer 59)
4) Output of Over.amethod()
The names of parameters to an overridden method is not important, but as the version of
amethod in class Base is set to be private it is not visible within Over (despite Over
extending Base) and thus does not take part in overriding.
http://www.jchq.net/tutorial/06_02Tut.htm
Answer 60)
Objective 8.1)
Back to Question 60)
1) Set the gridy value of the GridBagConstraints class to a value increasing from 1 to 4
Answer 4 is fairly obviously bogus as it is the GridBagConstraints class that does most of
the magic in laying out components under the GridBagLayout manager. The fill value of
the GridBagConstraints class controls the behavior inside its virtual cell and the ipady
field controls the internal padding around a component.
If you have a copy of the Roberts and Heller Java2 Guide that says the exam does not
cover the GridBagLayout, this is an error. You can confirm this by looking at the online
errata at