Wie kann ich mit der PrinterWriter-Klasse aus einer Textdatei die folgenden Ergebnisse erzielen?

Meine Anwendung hier fordert den Benutzer zur Eingabe einer Textdatei auf.mixed.txt was beinhaltet

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

Als nächstes ist der Antrag zu stellenPrintWrite zu allen textdateien nämlichresult.txt underrorlog.txt. Jede Zeile aus mixed.txt sollte mit einer Nummer beginnen, gefolgt von einem Namen. Bestimmte Zeilen können jedoch die umgekehrte Bedeutung enthalten, dh den Namen, gefolgt von einer Zahl. Diejenigen, die mit einer Zahl beginnen, werden zu a hinzugefügtsum Variable und in die Datei result.txt geschrieben, während die Zeilen, die mit dem Namen zusammen mit der Nummer beginnen, in die Datei errorlog.txt geschrieben werden.

Daher lauten die Ergebnisse auf der MS-DOS-Konsole wie folgt:

Geben Sie result.txt ein

Gesamt: 65,41

Geben Sie errorlog.txt ein

Fehler in Zeile 3 - Sophie 33.33
Fehler in Zeile 6 - Candice 12.2222

Ok, hier ist mein Problem. Ich schaffte es nur bis zu dem Punkt, an dem ich alle Zahlen zu result.txt und Namen zu errorlog.txt-Dateien hinzugefügt habe und keine Ahnung habe, wie ich von da an fortfahren soll. Könnten Sie mir also einen Rat geben oder mir helfen, wie ich die gewünschten Ergebnisse erzielen kann?

Unten wird mein Code sein:

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();
}
}

Dies ist der Screenshot der mixed.txt-Datei:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage