Java Programming - Language Fundamentals - Discussion
Discussion Forum : Language Fundamentals - Finding the output (Q.No. 1)
1.
What will be the output of the program?
public class CommandArgsThree
{
public static void main(String [] args)
{
String [][] argCopy = new String[2][2];
int x;
argCopy[0] = args;
x = argCopy[0].length;
for (int y = 0; y < x; y++)
{
System.out.print(" " + argCopy[0][y]);
}
}
}
and the command-line invocation is
> java CommandArgsThree 1 2 3
Answer: Option
Explanation:
In argCopy[0] = args;, the reference variable argCopy[0], which was referring to an array with two elements, is reassigned to an array (args) with three elements.
Discussion:
36 comments Page 3 of 4.
Karthik said:
1 decade ago
public class Simple
{
public static void main(String[] argv)
{
//some program code goes here
}
}
example:
class Welcome
{
// A java program will start from here.
public static void main(String args[])
{
System.out.println(" Welcome to Java-Samples!!! ");
}
}
{
public static void main(String[] argv)
{
//some program code goes here
}
}
example:
class Welcome
{
// A java program will start from here.
public static void main(String args[])
{
System.out.println(" Welcome to Java-Samples!!! ");
}
}
P .naresh said:
1 decade ago
What is the basic programming structure of java?
Poornima said:
1 decade ago
argCopy[0] = args;
x = argCopy[0].length;(x=3)
for (int y = 0; y < x; y++) i.e. (int y=0;y<3;y++)
argCopy[0][y] i.e. argCopy[0][0],argCopy[0][1],argCopy[0][2]
Invocation command is 1 2 3
argCopy[0][0] = 1
argCopy[0][1] = 2
argCopy[0][2] = 3
So output is 1 2 3.
x = argCopy[0].length;(x=3)
for (int y = 0; y < x; y++) i.e. (int y=0;y<3;y++)
argCopy[0][y] i.e. argCopy[0][0],argCopy[0][1],argCopy[0][2]
Invocation command is 1 2 3
argCopy[0][0] = 1
argCopy[0][1] = 2
argCopy[0][2] = 3
So output is 1 2 3.
Prateek Nanhorya said:
1 decade ago
This is very wrong question it's answer can't be like that its answer will be nothing because values of x is 0;.
(1)
Disha said:
1 decade ago
Please explain me.
Shiwam pandey said:
1 decade ago
Yes Rochu is correct and if we replace System.out.print (" " + argCopy[0][y]) ; with System.out.print (" " + argCopy[1][1]) ;.
Then it will print three times null.
Since default value of string is null.
Then it will print three times null.
Since default value of string is null.
Rochu said:
1 decade ago
Tajinderpal Singh is wrong because argcopy is an 2D array . it only have argcopy[0][0],argcopy[0][1],argcopy[1][0],argcopy[1][1].
it does not have memory location like argcopy[0][2]=3.
it does not have memory location like argcopy[0][2]=3.
Sonal Bhutada said:
1 decade ago
I m not able to understand. Please explain it in a much easier way.
Ravindra said:
1 decade ago
How it is possible ?
Tajinderpal singh said:
1 decade ago
Here argcopy is declared as a two dimensional array when argcopy[0] is assigned args which is an array holding command line argument args[0],args[1],args[2].Now argcopy[0] is the single row i.e the first row of the two dimensional array without any coloumn specified .when args is assigned to argcopy[0],argscopy behaves as two dimensional array b'coz now it has column specified
So,
argcopy[0][0]=1
argcopy[0][1]=2
argcopy[0][2]=3
which is been printed in the for loop.
So,
argcopy[0][0]=1
argcopy[0][1]=2
argcopy[0][2]=3
which is been printed in the for loop.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers