Simulating the radioactive decay of atoms using a random number generator
Firstly, some minor nitpicks on your code:     

   for (int i = remainingAtoms; i &gt; 0; i--) {


Why are you counting down instead of up? I can see why after careful inspection, but a comment would be useful.

        println ("There are " + (atomicRed (nAtoms)) + " atoms at the end of year " + nYears);


You've violated Command-Query Seperation. atomicRed changes the state of the object, and so it really shouldn't return information about the object. It certainly shouldn't appear in the middle of a print a call.

        boolean isReduced = rGen.nextBoolean();
        if (isReduced) nAtoms--;


Why did you seperate isReduced onto its own line?

As for your actual question: people differ on this point. My general theory is that seperating out functions is good. But don't move previously local variables to the class in order to do that. Doing so only makes your class harder to follow. 

In this case, I suggest something like

while(nAtoms &gt; 0)
{
     nAtoms = remainingAtomsAfterYear(nAtoms);
     println("There are " + nAtoms + " atoms at the end of year " + nYears);
     nYears++;
}


This allows you to pull the logic regarding atom decay into a separate function, but avoids storing state on the class. I think this actually gets the best of both approaches.

Alternately, you could do:

while(!atoms.empty())
{
    atoms.simulateYear();
    println("There are " + atoms.count() + " atoms at the end of year " + atoms.years());
}


And move all the logic into another class. That's overkill here, but is helpful if the state gets more complicated.