[FIXED] Geben Sie eine Zeichenfolge neben einer anderen in einer .txt-Datei (JAVA) zurück

Ausgabe

Ich habe eine .txt-Datei, die zum Beispiel lautet:

AAA 1234
ZZZ 4561
LKH 9000

Die Idee ist, eine Funktion zu erstellen, die ein strinf empfängt und es mit den ersten drei Zeichen vergleicht, in diesem Fall AAA, ZZZ oder LKH, und wenn es gleich ist, gibt es den numerischen Wert zurück, aber mein Vergleich funktioniert nicht so beabsichtigt, denn der Vergleich scheint nicht wie erwartet zu funktionieren. Hier mein bisheriger Code:

public static boolean isNumeric(String str) {
        try {
            Double.parseDouble(str);
            return true;
        } catch(NumberFormatException e){
            return false;
        }
    }

public static PrintStream returnIntNext(){
Scanner sc2 = null;
    try {
        sc2 = new Scanner(new File("sample.txt"));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    while (sc2.hasNextLine()) {
        Scanner s2 = new Scanner(sc2.nextLine());
        while (s2.hasNext()) {
            String s = s2.next();
            if ("LKH".equals(s)){
                if (isNumeric(s)){
                    System.out.println(s);}}
            else{System.out.println("if line not working");}
        }}
    return null;
}

Irgendwelche Hinweise darauf, was ich falsch mache?

Lösung

Dieselbe Zeichenfolge wird auf “LKH” überprüft und es wird erwartet, dass sie numerisch ist.

if ("LKH".equals(s)){
   if (isNumeric(s)){
       System.out.println(s);
   }
}

Nachdem Sie nach “LKH” gesucht haben, machen Sie einen weiteren s2.next(), um die nächste Zeichenfolge zu erhalten, die die gewünschte Nummer sein sollte.


Beantwortet von –
Joshua Fox


Antwort geprüft von –
Robin (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like