This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Labelled continue Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Labelled continue" Watch "Labelled continue" New topic
Author

Labelled continue

Venkat Valluru
Greenhorn

Joined: Jun 11, 2003
Posts: 6
hi,
What will be the output when you compile and execute the following program.
public class Base{

private void test() {

one:
for (int i = 0; i < 3; i ++) {

two:
for(int j = 0; j < 3; j++){

if (i == 2)
continue two;

if ( j == 2)
continue one;

System.out.println("Values : " + i + "," + j);
}
}
}

static public void main(String[] a) {
new Base().test();
}

}
Select all valid answers
a) Values : 0,0
b) Values : 0,1
c) Values : 1,0
d) Values : 1,1
e) Values : 2,0
f) Values : 2,1
Here the correct answers given are a,b,c,d
According to me f should also be the correct answer
as when i == 2 then there is continue two:
so j=0 iteration should not be executed but j=1 should be executed.so 2,1 should also come .
but i ran this code and f) answer is not coming.
Can somebody enlighten me on this??
Suresh
Ranch Hand

Joined: May 08, 2000
Posts: 76
anonymous (?),

Let's trace the program:
Enter loop one
When i = 0,
Enter loop two.
When j = 0, both condition one and two are false. So, print i = 0 and j = 0.
When j = 1, both condition one and two are false. So, print i = 0, and j = 1.
When j = 2, condition one is false, condtion two is true. So, go back to loop one, without printing the values.
When i = 1
Enter loop two.
When j = 0, both condtion one and two are false. So, print i = 1 and j = 0.
When j = 1, both condtion one and two are false. So, print i = 1 and j = 1.
When j = 2, condtion one is false, condtion two is true. So, go back to loop one, without printing the values.
When i = 2,
Enter loop two.
Throughout the loop i will be two and hence condtion one will evaluate to true all the time and hence, it won't come the printing statement.
So, the output will be
0,0
0,1
1,0
1,1.
So, a,b,c and d are the correct answers.
Regards,
Suresh.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Labelled continue
 
Similar Threads
5 javaprepare questions
continue statement
loop question doubt
for loop problem
Changing value of Final variable