-1
class Solution{
    static List<Integer> get(int a,int b)
    {
    a=a+b;
    b=a-b;
    a=a+b;
//**What will be the return statement?**
        
    }

}
Turing85
  • 18,217
  • 7
  • 33
  • 58
  • 1
    Since [Java is pass-by-value always](https://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value), we would need to return an object of some kind, holding the swapped values for `a` and `b`. – Turing85 Apr 11 '22 at 18:43
  • 2
    Your method should return a `List` according to your signature. – PM 77-1 Apr 11 '22 at 18:44
  • 1
    You don't need the three lines you've already written in that method. You just need to return the list, with the values swapped. You could consider using the `Arrays.asList` method, for example. – Dawood ibn Kareem Apr 11 '22 at 18:51

1 Answers1

1

Your question/doubt is not that clear but I'm guessing that what you need is something like this:

The super easy fast solution:

public List<Integer> swapInput(int a, int b) {
    return Arrays.asList(b, a);
}

The long (not that necessary) solution:

public List<Integer> swapInput(int a, int b) {
    System.out.println("----- Before swap -----");
    System.out.println("First: " + a);
    System.out.println("Second: " + b);

    //First parameter is assigned to a temporary var
    int temporary = a;
    //Second parameter will be now assigned as first
    a = b;
    //The temporary parameter (which contains the initial value of the first parameter) is assigned as second
    b = temporary;

    System.out.println("----- After swa -----");
    System.out.println("First: " + a);
    System.out.println("Second: " + b);

    return Arrays.asList(a, b);
}
ypdev19
  • 173
  • 2
  • 13