Eigene Funktion erstellen

Hallo,
ich habe ein kleines Problem. Ich musste bisher im Studium in C programmieren und jetzt kam ein ziemlich harter Cut zu Java.
Nun muss ich ein kleines Verkehrssystem programmieren und wollte zur Übersicht in einer extra Datei eine verwendbare Funktion definieren. Allerdings weiß ich nicht wie dies bei Java funktioniert.. Mein bisheriger Versuch schlug leider fehl.. (siehe quellcode)
Ich hoffe ihr könnt mir erklären, wie ich diese Funktion erstellen kann um sie dann in der Hauptdatei verwenden zu können..

Java:
while(time < 100){
    updatecar(carA, streetA, streetB, streetC, streetD);
    carA.output(time);
.....

updatecar ist hier die Funktion die ich separat, aufgrund ihres Umfangs, definieren möchte!

Habe es jetzt in einem extra Dokument versucht:
Java:
class updatecar {
   
    updatecar(Car car, Street streeta, Street streetb, Street streetc, Street streetd){
        //hier kommt dann der Code
    }
}

Aber so funktioniert es ja in Java nicht.

Freue mich auf Hilfe!!
 

Robat

Top Contributor
So richtig weiß ich nicht was du mit "optisch zerstören" meinst.
Methoden kannst du prinzipiell so anlegen:
Java:
public class Foo {
    private void bar() {
        // do some stuff
        veryLongTask();
    }

    private void veryLongTask() {
        ...
    }
}
Die Methode kannst du natürlich auch noch in eine andere Klasse auslagern.
Java:
public class Foo {
    private void bar() {
        // do some stuff
        Task task = new Task();
        task.veryLongTask();
    }
}
public class Task {
    public void veryLongTask() {
        ...
    }
}
 

Blender3D

Top Contributor
Okay gut. Aber wie kann ich dann eine neue Funktion erstellen ohne das ich die Hauptdatei optisch zerstöre?..
In Java ist jede Klasse eine eigene Datei. Dein Problem ist das Umdenken von strukturierte zu objektorientierter Programmierung.

Aber wenn Du globale Funktionen willst dann kannst Du diese in einer Klasse static definieren.
Code:
public class GLOBAL {
    public static Car updateCar(Car car, Street streeta, Street streetb, Street streetc, Street streetd) {
        Car ret = null;
        // hier kommt dann der Code
        return ret;
    }
}
 

Neue Themen


Oben