Variables should not be accessed directly outside of the object
(encapsulation principle) and thus should all be private as a general rule.
Then, you will probably divide up the code into a number of separate methods for better structured code. All the methods that are purely internal and not part of the public API should be private if only to enforce the public API, this is also the encapsulation principle.