Java To String Methode, Array mit For-Schleife

JaVasIstHierLos?

Neues Mitglied
Hallo,
ich möchte gerne einen "Fahrer" erstellen, der "Fahrer" besitzt einen Heimatort und einen Tagesablauf.
In der Klasse "Fahrer" wird der Fahrer mit seinem Heimatort erstellt:

Java:
package fahrsimulation;

import java.time.LocalDateTime;

import fahrsimulation.Heimatort.Heimatorte;

public class Fahrer {

    Heimatorte heimatort;
    static int ZEITSCHRITT = 15;
    public LocalDateTime start = LocalDateTime.of(2023, 9, 11, 14, 00, 0);
    LocalDateTime end = LocalDateTime.of(2023, 9, 12, 14, 00, 00);
    Tagesablauf zeitscheibe = new Tagesablauf(start, AutoZustand.FAHREN, Wegezweck.Wegezwecke.Arbeit);

    public Fahrer(Heimatorte heimatort, Tagesablauf zeitscheibe) {
        this.heimatort = heimatort;
        this.zeitscheibe = zeitscheibe;
    }

    void starteBerechnung() {
        Heimatort heimatorte = new Heimatort(null);
        heimatort = heimatorte.heimatortberechnung();
    }

    @Override
    public String toString() {
        return "[" + heimatort + zeitscheibe + "]";
    }
}

Der Tagesablauf wird in der Klasse Tagesablauf erstellt und dieser besteht aus einem "Start", einem Zustand (ob das Auto: Fahrt, Parkt,..) und einem Zweck (z.B.Arbeit)
Zustand und Zweck werden über Enum-Klasse generiert.

Die Klasse hab ich wie folgt aufgebaut:
Code:
package fahrsimulation;

import java.time.LocalDateTime;
import java.util.ArrayList;

import fahrsimulation.Wegezweck.Wegezwecke;

public class Tagesablauf {

    public ArrayList<LocalDateTime> zeitscheiben = new ArrayList<>();
    String zeit2;
    Wegezwecke wegezwecke;
    LocalDateTime start;
    public static int ZEITSCHRITT = 15;
    Wegezweck wegezweck = new Wegezweck(null);
    public AutoZustand autoZustand;

    public Tagesablauf(LocalDateTime start, AutoZustand fahren, Wegezwecke arbeit) {
        this.start = start;
        this.autoZustand = fahren;
        this.wegezweck.wegezweck = wegezwecke;
    }

    public LocalDateTime erhoehungZeitscheibe() {
        start = start.plusMinutes(ZEITSCHRITT);
        if (autoZustand == AutoZustand.FAHREN) {
            wegezwecke = wegezweck.wegezweckberechnung();
        } else {
            wegezwecke = null;
        }
        return start;
    }

    @Override
    public String toString() {
        return "[" + zeitscheiben + start + autoZustand + wegezweck + "]";
    }


Beides lasse ich in der Tagesberechnung starten:
Code:
public class Tagesberechnung {

    void starteBerechnung() {
        int anzahlFahrer = 1;
        int anzahlZeitscheiben = 3;
        LocalDateTime start = LocalDateTime.of(2023, 9, 11, 14, 00, 0);
        Fahrer[] fahrer = new Fahrer[anzahlFahrer];
        Tagesablauf[] zeitscheibe = new Tagesablauf[anzahlZeitscheiben];

        for (int j = 0; j < fahrer.length; j++) {
            fahrer[j] = new Fahrer(null, zeitscheibe[j]);
            fahrer[j].starteBerechnung();
            for (int k = 0; k < zeitscheibe.length; k++) {
                zeitscheibe[k] = new Tagesablauf(start.plusMinutes(k * Tagesablauf.ZEITSCHRITT), null, null);
                zeitscheibe[k].erhoehungZeitscheibe();
                System.out.println(fahrer[j] + " " + zeitscheibe[k]);
                System.out.println(fahrer[j].toString());
            }
        }
    }
}

Und diese Tagesberechnung wird im Programm aufgerufen:
Code:
public class Programm {
    public static void main(String[] args) {
        Tagesberechnung tagesberechnung = new Tagesberechnung();
        tagesberechnung.starteBerechnung();
    }
}

Problem habe ich mit der ToString Methode. Über:
Code:
System.out.println(fahrer[j] + " " + zeitscheibe[k]);
erhalte ich folgende Ausgabe: [LaendlicheRegionKleinstaedtischerDoerflicherRaumnull] [[]2023-09-11T14:15nullfahrsimulation.Wegezweck@511baa65] (Wäre für den Start erstmal richtig)
Über die ToString Methode:
Code:
System.out.println(fahrer[j].toString());
erhalte ich die Ausgabe: [LaendlicheRegionKleinstaedtischerDoerflicherRaumnull] (die Zeitscheibe (15 minuten eines Tages, werden hier nicht ausgegeben, da diese laut debuggen "null" ist. Verstehe leider nicht wieso. Könnt ihr mir bitte weiterhelfen? Hoffe ich habe es halbwegs nachvollziehbar beschrieben, falls nicht (bin doch schon etwas vertieft in dem Thema, gerne nachfragen!)
 

fhoffmann

Top Contributor
Hier erzeugst du eine zeitscheibe und überschreibst sie sofort wieder:
Java:
public class Fahrer {
    // ...

    Tagesablauf zeitscheibe = new Tagesablauf(start, AutoZustand.FAHREN, Wegezweck.Wegezwecke.Arbeit);

    public Fahrer(Heimatorte heimatort, Tagesablauf zeitscheibe) {
        this.heimatort = heimatort;
        this.zeitscheibe = zeitscheibe;
    }
    // ...
 

Jw456

Top Contributor
Hallo schon richtig was bis jetzt gesagt wurde . Es macht keinen sinn die InstanzVariable schon im Klassenrumpf zu setzen. Das du ja beim Erzeugen des Objektes die Instanzen dem Konstruktor übergibst und er es in den Instanzvariablen abspeichert.

da diese laut debuggen "null" ist.

Überlege mal was du hier machst. In der Klasse Tagesberechnung.

for (int j = 0; j < fahrer.length; j++) {
fahrer[j] = new Fahrer(null, zeitscheibe[j]); //zeitscheibe[j] ist null zu dem zeitpunkt

Du übergibst ein Objekt was null ist. Ja du hast ein Array erstellt Zeile 8.
Aber den Feldern des Array hast du keine werte zugeordnet, gesetzt. Sind also noch null.

Du setzt zwar später die Felder des Arrays ab Zeile 14. Nur das Objekt Fahrer ist schon mit Null erstellt, und wird nicht geändert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14
C Java String Methode Java Basics - Anfänger-Themen 6
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
I String Expression mit Java validieren (true / false) Java Basics - Anfänger-Themen 34
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
H java string aufgabe Java Basics - Anfänger-Themen 10
S Java String[]args Übergabeparameter Java Basics - Anfänger-Themen 2
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
M JAVA String schnell parsen Java Basics - Anfänger-Themen 14
F Methoden Java String aufteilen Java Basics - Anfänger-Themen 17
E Datentypen C# String zu Java String konvertieren Java Basics - Anfänger-Themen 3
L Java CMD Console in String umwandeln? Java Basics - Anfänger-Themen 2
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
L Java String to date? Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
R Input/Output Java String abfragen Java Basics - Anfänger-Themen 3
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
B Erste Schritte Java IDE schreibt "(String[] args)" Java Basics - Anfänger-Themen 5
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
Spin Java parse String to int Java Basics - Anfänger-Themen 2
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
U Automatenprüfung in Java implementieren — String Vergleich klappt nicht Java Basics - Anfänger-Themen 40
J java.util.format => mit String? Java Basics - Anfänger-Themen 2
E JAVA Typ Short mit String ergänzen Java Basics - Anfänger-Themen 6
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
Developer_X Java String Spielereien Java Basics - Anfänger-Themen 18
K Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 1
K Java String UNICODE in DB UTF-8 Feld einfügen Java Basics - Anfänger-Themen 3
T [SOLVED] Java String equals funktioniert nicht Java Basics - Anfänger-Themen 5
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
B Java-Frame Taschenrechner - String -> Int und umgekehrt Java Basics - Anfänger-Themen 8
G string trennen in java 1.3 Java Basics - Anfänger-Themen 7
S java.io.* BufferedReader to String Java Basics - Anfänger-Themen 12
G String in java.sql.Date umwandeln Java Basics - Anfänger-Themen 4
S String für das java jre home verzeichnis Java Basics - Anfänger-Themen 3
J Java Aufgabe -> String einlesen, splitten,Substring & Java Basics - Anfänger-Themen 3
K Prob mit java.util.regex.matches-String wird nicht erkannt? Java Basics - Anfänger-Themen 9
S java.lang.String Fehler bei DB Abfrage Java Basics - Anfänger-Themen 4
W HTML in Java als String Java Basics - Anfänger-Themen 6
R Java 5.0 / String.format - Warning Java Basics - Anfänger-Themen 8
M.C.S. String parsen in Java Java Basics - Anfänger-Themen 5
Z Fehlermeldung: Exception. java.lang.String Java Basics - Anfänger-Themen 7
T Substrings in Strings ersetzen ohne java.lang.String Java Basics - Anfänger-Themen 8
M JTable getValueAt -- CastClassException : java.lang.String Java Basics - Anfänger-Themen 5
M String als Java-Code ausführen Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben