-1

I want to return m and n but return (m, n) won't work. Is there any way I can return the two values? I am not suppose to use Pair as I have not been taught about it yet.

public static void getTwoIntegers(MyInteger m, MyInteger n)
{
     Random rand = new Random();

     m = new MyInteger(rand.nextInt(10));
     n = new MyInteger(rand.nextInt(10));

}
Praveen
  • 1,791
  • 3
  • 20
  • 33
Deello
  • 11
  • 3

3 Answers3

1

You can return in an array,

public static MyInteger[] getTwoIntegers(){
   Random rand = new Random();
   MyInteger m = new MyInteger(rand.nextInt(10));
   MyInteger n = new MyInteger(rand.nextInt(10));
   return new MyInteger[] {m,n};
}
Mustapha Belmokhtar
  • 1,231
  • 8
  • 21
Praveen
  • 1,791
  • 3
  • 20
  • 33
0

It's been a while since I wrote any java code, but can't you just use an array?

Or use some wrapper-object (you are allowed to use objects, rights?) like new SomeClass(m, n)

upd

Array:

public static MyInteger[] getTwoIntegers(MyInteger m, MyInteger n)
{
     Random rand = new Random();

     m = new MyInteger(rand.nextInt(10));
     n = new MyInteger(rand.nextInt(10));
     MyInteger[] result = {m, n};
     return result;
}

upd2

Object:

public static MyIntegerPair getTwoIntegers(MyInteger m, MyInteger n)
{
     Random rand = new Random();

     m = new MyInteger(rand.nextInt(10));
     n = new MyInteger(rand.nextInt(10));
     return new MyIntegerPair(m, n);
}

public class MyIntegerPair {
    public MyInteger first;
    public MyInteger second;
    public MyIntegerPair(f, s) {
        this.first = f;
        this.second = s;
    }
}
Nondv
  • 769
  • 6
  • 11
0

Another concept besides returning a value.

public static void getTwoIntegers(List<MyInteger> ret)
{
     Random rand = new Random();

     MyInteger m = new MyInteger(rand.nextInt(10));
     MyInteger n = new MyInteger(rand.nextInt(10));
     ret.add(m);
     ret.add(n);
}

Now getting 3 or 4 integers is just as simple.

Steven Spungin
  • 27,002
  • 5
  • 88
  • 78