Java Programming - Operators and Assignments - Discussion
Discussion Forum : Operators and Assignments - Finding the output (Q.No. 1)
1.
What will be the output of the program?
class PassA
{
public static void main(String [] args)
{
PassA p = new PassA();
p.start();
}
void start()
{
long [] a1 = {3,4,5};
long [] a2 = fix(a1);
System.out.print(a1[0] + a1[1] + a1[2] + " ");
System.out.println(a2[0] + a2[1] + a2[2]);
}
long [] fix(long [] a3)
{
a3[1] = 7;
return a3;
}
}
Answer: Option
Explanation:
Output: 15 15
The reference variables a1 and a3 refer to the same long array object. When the [1] element is updated in the fix() method, it is updating the array referred to by a1. The reference variable a2 refers to the same array object.
So Output: 3+7+5+" "3+7+5
Output: 15 15 Because Numeric values will be added
Discussion:
43 comments Page 5 of 5.
Vasu said:
1 decade ago
While program is executing
ofter second step
the method of fix(_)
then it comes again back to 3 step.
so it changes the array elements in the position of 1
i.e (a1[1])
ofter second step
the method of fix(_)
then it comes again back to 3 step.
so it changes the array elements in the position of 1
i.e (a1[1])
Ram said:
1 decade ago
The method fix()is fixed the is a3[1]=7, so that value is assing by the position of a[1]=7.
Nagarjuna said:
2 decades ago
Can any one tell me why a1[] will also change.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers