Java Programming - Threads - Discussion
Discussion Forum : Threads - Finding the output (Q.No. 13)
13.
What will be the output of the program?
class MyThread extends Thread
{
public static void main(String [] args)
{
MyThread t = new MyThread(); /* Line 5 */
t.run(); /* Line 6 */
}
public void run()
{
for(int i=1; i < 3; ++i)
{
System.out.print(i + "..");
}
}
}
Answer: Option
Explanation:
Line 6 calls the run() method, so the run() method executes as a normal method should and it prints "1..2.."
A is incorrect because line 5 is the proper way to create an object.
B is incorrect because it is legal to call the run() method, even though this will not start a true thread of execution. The code after line 6 will not execute until the run() method is complete.
D is incorrect because the for loop only does two iterations.
Discussion:
3 comments Page 1 of 1.
Stefan said:
8 years ago
Doesn't ++i in the for loop suggest i is incremented to value 2 before the print operation calls?
Risha said:
1 decade ago
It shows an error: Error - At least one public class is required in main file.
Nikhil said:
3 years ago
@Stefan
i++ and ++i is same if we call it as a statement ending with ';'
i++ and ++i is same if we call it as a statement ending with ';'
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers