TimeDateFormatter

Windows10

Bekanntes Mitglied
Warum geht folgendes Code-Beispiel nicht? Muss es anderes umsetzen, ich schreibe mein Problem nur vereinfacht hierher.

Java:
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class Beispiel
{
private DateTimeFormatter transform = DateTimeFormatter.ofPattern("HH:mm");
public LocalTime beispiel()
{
String s="01:12";
return LocalTime.parse(s, transform);
}
}

Bei meinem Programm ist es komplizierter zum Umsetzen und das will ich dann alleine machen! Ich komm aber nicht auf den Fehler!
 

krgewb

Top Contributor
Du hast keine main-Methode.
Java:
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class Beispiel {
    private DateTimeFormatter transform = DateTimeFormatter.ofPattern("HH:mm");

    public LocalTime beispiel() {
        String s = "01:12";
        return LocalTime.parse(s, transform);
    }

}

class Hauptprogramm {

    public static void main(String[] args) {
        Beispiel b = new Beispiel();
        LocalTime l = b.beispiel();
        System.out.println("" + l);
    }
}

Ausgabe:
01:12
 

Windows10

Bekanntes Mitglied
Also dein Code funktioniert. Was erhälst du für Fehlermeldungen bzw. was geht nicht?
Der Fehler taucht in dieser Methode auf:
Java:
private void read()
    {
        slogans = new ArrayList<>();
        try
        {
            LineNumberReader r = new LineNumberReader(new FileReader(filename));
            while (true)
            {
                String line = r.readLine();
                int lineNumber = r.getLineNumber();
                if (line == null)
                {
                    break;
                }
                if (lineNumber != 1)
                {
                    String[] strings = line.split(";");
                    slogans.add(new Slogan(Integer.parseInt(strings[0]), strings[1], strings[2], LocalTime.parse(strings[3], transform), strings[4], strings[5]));
                }

            }
        } catch (FileNotFoundException ex)
        {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        } catch (IOException ex)
        {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }
    }

Diese Methode wird im Konstruktor ausgeführt:
Java:
public Slogans(String filename)
    {
        this.filename = filename;
        read();
    }
Im Hauptprogramm erzeuge ich mit dem Konstruktor ein Objekt!
FehlermeldungUnbenannt.PNG
 

Flown

Administrator
Mitarbeiter
Wie wärs dann mit:
Java:
DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("H:mm");
 

krgewb

Top Contributor
Dein Konstruktor heißt Slogans mit s aber in read steht:
new Slogan

Zudem steht da:
slogans = new ArrayList<>();
In den spitzen Klammern ist nichts.

Außerdem verlangt es einen Konstruktor mit folgendem Aufbau:
Java:
    public Slogans(int i, String s, String s2, LocalTime l, String s3, String s4) {
 
   }
 

mrBrown

Super-Moderator
Mitarbeiter
Dein Konstruktor heißt Slogans mit s aber in read steht:
new Slogan

Zudem steht da:
slogans = new ArrayList<>();
In den spitzen Klammern ist nichts.

Außerdem verlangt es einen Konstruktor mit folgendem Aufbau:
Java:
    public Slogans(int i, String s, String s2, LocalTime l, String s3, String s4) {
 
   }
Slogans und Slogan sind wohl zwei Klassen (Slogans = mehrere Slogan, erzeugt deshalb auch mehrere im Konstruktor)^^
 

Neue Themen


Oben