¿Cómo logro los siguientes resultados usando la clase PrinterWriter de un archivo de texto?

Mi aplicación aquí solicita al usuario un archivo de texto,mixed.txt que contiene

12.2 Andrew 22 Simon Sophie 33.33 10 Fred 21.21 Hank Candice 12.2222

A continuación, la aplicación es paraPrintWrite a todos los archivos de texto a saberresult.txt yerrorlog.txt. Cada línea de mixed.txt debe comenzar con un número seguido primero por un nombre. Sin embargo, ciertas líneas pueden contener el sentido inverso para decir el nombre seguido de un número. Los que comienzan con un número se agregarán a unsum variable y escrita en el archivo result.txt, mientras que las líneas que comienzan con el nombre junto con el número se escribirán en el archivo errorlog.txt.

Por lo tanto, en la consola de MS-DOS los resultados son los siguientes:

escriba result.txt

Total: 65,41

escriba errorlog.txt

Error en la línea 3 - Sophie 33.33
Error en la línea 6 - Candice 12.2222

Ok, aquí está mi problema. Solo logré llegar a la etapa en la que he agregado todos los números a result.txt y los nombres a los archivos errorlog.txt y no tengo idea de cómo continuar a partir de ahí. Entonces, ¿podrían darme algún consejo o ayuda sobre cómo lograr los resultados que necesito?

A continuación estará mi código:

import java.util.*;
import java.io.*;

class FileReadingExercise3 {

public static void main(String[] args) throws FileNotFoundException
{
    Scanner userInput = new Scanner(System.in);
    Scanner fileInput = null;
    String a = null;
    int sum = 0;

     do {
        try
        {
            System.out.println("Please enter the name of a file or type QUIT to finish");
            a = userInput.nextLine();
            if (a.equals("QUIT"))
            {
                System.exit(0);
            }

            fileInput = new Scanner(new File(a));
        }
        catch (FileNotFoundException e)
        {
            System.out.println("Error " + a + " does not exist.");
        }
    } while (fileInput == null);

    PrintWriter output = null;
    PrintWriter output2 = null;

    try
    {
        output = new PrintWriter(new File("result.txt"));           //writes all double values to the file
        output2 = new PrintWriter(new File("errorlog.txt"));        //writes all string values to the file
    }
    catch (IOException g)
    {
        System.out.println("Error");
        System.exit(0);
    }

    while (fileInput.hasNext()) 
    {
        if (fileInput.hasNextDouble())
        {
            double num = fileInput.nextDouble();
            String str = Double.toString(num);
            output.println(str);
        } else
        {
            output2.println(fileInput.next());
            fileInput.next();
        }
    }

    fileInput.close();
    output.close();
    output2.close();
}
}

Esta es la captura de pantalla del archivo mixed.txt:

Respuestas a la pregunta(2)

Su respuesta a la pregunta