Ik zit nog te twijfelen tussen de eerste en derde. Die tweede vind ik heel lelijk, vooral omdat je een while gebruikt met alle gevolgen van dien. (zoals wanneer ze null zijn, het is niet overzichtelijk, want een while duidt op iteraties vind ik...)
Er is eventueel nog een vierde optie, namelijk de derde, maar dan met else ifs zodat je niet per se direct hoeft te returnen. Of het mooi is, hangt denk ik van de situatie af. In een methode met 2 variabelen vind ik een tmp variabele overkill, maar wanneer het groeit, kan het handig zijn, ook met debuggen.
Fat Pizza's pizza, they are big and they are cheezy