Como obtenho os seguintes resultados usando a classe PrinterWriter de um arquivo de texto?

Meu aplicativo aqui solicita ao usuário um arquivo de texto,mixed.txt que contém

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

Em seguida, o aplicativo éPrintWrite para todos os arquivos de texto, ou sejaresult.txt eerrorlog.txt. Cada linha do mixed.txt deve começar com um número primeiro, seguido por um nome. No entanto, certas linhas podem conter o sentido inverso para dizer o nome seguido por um número. Aqueles que começam com um número serão adicionados a umsum variável e gravada no arquivo result.txt, enquanto as linhas que começam com o nome e o número devem ser gravadas no arquivo errorlog.txt.

Portanto, no console do MS-DOS, os resultados são os seguintes:

tipo result.txt

Total: 65,41

tipo errorlog.txt

Erro na linha 3 - Sophie 33.33
Erro na linha 6 - Candice 12.2222

Ok, aqui está o meu problema. Só consegui chegar ao estágio em que adicionei todos os números ao result.txt e nomes aos arquivos errorlog.txt e não tenho idéia de como continuar a partir daí. Vocês poderiam me dar alguns conselhos ou ajudar em como alcançar os resultados que eu preciso?

Abaixo será o meu 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 é a captura de tela do arquivo mixed.txt:

questionAnswers(2)

yourAnswerToTheQuestion