Dato un programma corretto, dato un input devi ottenere sempre lo stesso output.
Ottenere output differenti è sintomo di errore, quindi ti direi ricontrolla il programma e vedi di capire che succede.


Per quanto riguarda l'IDE: bisogna conoscere gli strumenti che si usa, non usare l'IDE e poi chiedersi perché fuori non funziona.
Gli IDE (tutti in generale) hanno delle metainformazioni che consentono a te di poter eseguire. Tra queste ad esempio conservano il buildpath nel quale metti le classi pronte per l'esecuzione. Ovviamente tale ambiente deve essere valido anche quando sei fuori dall'IDE, altrimenti come hai notato non riesci ad eseguire.
Lo strumento di esportazione automatica devi settarlo in modo da riportare nel jar le librerie necessarie (e n on perderti niente), insomma devi cmq conoscere un minimo il comando jar.
Ergo, impara a farlo senza l'IDE, vedi che poi capisci bene cosa fanno le varie opzioni che l'interfaccia dell'IDE esporta