while(running) { try { if(first) { for(int i = 0; i < MPATH - 1; i++) { int num = readIntFromTempFile(i); intArray[i] = num; } first = false; } else { int num = 0; if (!(boolArray[current] == false)) { num = readIntFromTempFile(current); if (num < intArray[current]) { boolArray[current] = false; } else { intArray[current] = num; } } } int min = intArray[0]; for (int i = 0; i < MPATH - 1; i++) { if(!(boolArray[i] == false)) { if (min >= intArray[i]) { min = intArray[i]; current = i; } } } openTempFileForWriting(MPATH - 1 + tFile); appendIntToTempFile(MPATH - 1 + tFile, min); running = count(); } private boolean count() { boolean blubb = true; int test = 0; for(int i = 0; i < boolArray.length; i++) { if(boolArray[i] == false) test++; } if(test == boolArray.length) blubb = false; return blubb; }