java erstes projekt

H

Heyoka955

Gast
hallo wir haben ein fast gefertigtes Programm bekommen und das Programm hat einen kleinen bug auf den ich später eingehen möchte.
Unsere aufgabe ist es sauberen Code zu schreiben bzw. Die regeln der calistenics anzuwenden.
und ich hätte eine frage zum auszug eines codes?
Was macht genau die Methode init?
Das ist nur eine Methode vom Programm, ich wollte schritt für schritt das Programm durchgehen.
Ich weiß nicht ob ich ehe rmit der aufgabe 1 anfangen soll oder zwei?

die aufgabe lautet:
Sie bekommen ein Programm, das einen Roboter über den Mars steuert. Das Programm wird mit ./gradlew run --args="<INSTRUKTIONEN>" aufgerufen.

Auf der Oberfläche werden zufällig Hindernisse platziert. Die Instruktionen sind eine Sequenz von Buchstaben, die den Roboter steuern. Gültige Buchstaben sind:

  • l - Dreht den Rover gegen den Uhrzeigersinn (left)
  • r - Dreht den Rover mit dem Uhrzeigersinn (right)
  • f - Bewegt den Rover einen Schritt vorwärts (forward)
  • b - Bewegt den Rover einen Schritt rückwärts (backward)

Ein Beispiel für eine Kontrollsequenz, bei der der Rover zwei Schritte vorwärts macht, sich im Uhrzeiger dreht und dann zwei Schritte rückwärts moonwalkt wäre ffrbb.

Der Aufruf wäre entsprechend: ./gradlew run --args="ffrbb"

Das Programm gibt eine Karte des Planeten nach jedem Schritt aus. Hindernisse sind mit # markiert und der Rover durch einen Pfeil.





Java:
static Random r = new Random();
    static LinkedHashMap<int[], String> mars;
    static int x = 80;
    static int y = 20;
    static int rx = x / 2;
    static int ry = y / 2;

    public static void init() {
        mars = new LinkedHashMap<>();
        
        for (int i = 0; i < x; i++) {
            for (int j = 0; j < y; j++) {
                int[] p = new int[] { i, j };
                if (r.nextDouble() < 0.25 && !(rx == i && ry == j))
                    mars.put(p, "#");
            }
        }
        mars.put(new int[] { rx, ry }, "n");
    }
 
H

Heyoka955

Gast
Was ist das für eine Sekte?
ahahahaha ich sterbe
es geht um sauber Code zu schreiben und es geht um 10 regeln. und bevor ich damit anfangen möchte brauche ich hilfe für den Code.
Das Problem ist ich verstehe nicht ganz was der auschnitt macht. Mein verdacht ist dass die linked list das Feld bildet vom Mars und jeweilige Stellen von den Hindernisse ausrechnet. und die variablen ry und rx dienen für die Position des roboters

 

mrBrown

Super-Moderator
Mitarbeiter
Was unheimlich hilft, um sauberen Code zu schreiben, ist generell lesbar zu schreiben (und auf das erfinden merkwürdiger Wörter zu verzichten.)


Mein verdacht ist dass die linked list das Feld bildet vom Mars
In dem Code kommt keine LinkedList vor.

und jeweilige Stellen von den Hindernisse ausrechnet. und die variablen ry und rx dienen für die Position des roboters
Das ist vermutlich richtig (zumindest, wenn '#' ein Hindernis sein soll und 'n' der Roboter.)
 
H

Heyoka955

Gast
ahahahaha ich sterbe
es geht um sauber Code zu schreiben und es geht um 10 regeln. und bevor ich damit anfangen möchte brauche ich hilfe für den Code.
Das Problem ist ich verstehe nicht ganz was der auschnitt macht. Mein verdacht ist dass die linked list das Feld bildet vom Mars und jeweilige Stellen von den Hindernisse ausrechnet. und die variablen ry und rx dienen für die Position des roboters
ich schicke dir den ganzen code, ich soll die namen so umändern dass man direkt versteht worum es geht bei den variablen und methoden. Also sorry meinte hashmap.
Es geht mur um die erste Methode. also verstehe ich die richtig?

Java:
import java.util.Random;
import java.util.Set;

public class Start {

    static Random r = new Random();
    static LinkedHashMap<int[], String> mars;
    static int x = 80;
    static int y = 20;
    static int rx = x / 2;
    static int ry = y / 2;

    public static void erzeugHindernisse() {
        mars = new LinkedHashMap<>();
        
        for (int i = 0; i < x; i++) {
            for (int j = 0; j < y; j++) {
                int[] positionVomHindernis = new int[] { i, j };
                if (r.nextDouble() < 0.25 && !(rx == i && ry == j))
                    mars.put(positionVomHindernis, "#"); //Füge zur HashMap die position auf der Sich ein Hindernis befindet.
            }
        }
        mars.put(new int[] { rx, ry }, "n");
    }

    public static int[] maximum(Set<int[]> set) {
        int[] x = new int[2];
        for (int[] e : set) {
            if (e[0] > x[0])
                x[0] = e[0];
            if (e[1] > x[1])
                x[1] = e[1];
        }
        return x;
    }

    public static String get(Map<int[], String> kloetze, int[] positionVomHindernis) {
        Set<Entry<int[], String>> entrySet = kloetze.entrySet();
        for (Entry<int[], String> entry : entrySet) {
            if (entry.getKey()[0] == positionVomHindernis[0] && entry.getKey()[1] == positionVomHindernis[1])
                return entry.getValue();
        }
        return null;
    }

    public static void out() {
        // Set<int[]> keySet = mars.keySet();
        // for (int[] e : keySet) {
        // if (e[0] == 39 && e[1] == 10)
        // System.err.println(mars.get(e) + " " + e.hashCode());
        // }

        int[] max = maximum(mars.keySet());
        for (int j = 0; j < max[1]; j++) {
            for (int i = 0; i < max[0]; i++) {
                // System.out.println(i + "," + j + ": " + get(mars, new int[] { i, j }));

                if (get(mars, new int[] { i, j }) == null) {
                    System.out.print(" ");
                    continue;
                }
                if (get(mars, new int[] { i, j }).equals("#"))
                    System.out.print("#");
                else if (get(mars, new int[] { i, j }).equals("n"))
                    System.out.print("^");
                else if (get(mars, new int[] { i, j }).equals("s"))
                    System.out.print("V");
                else if (get(mars, new int[] { i, j }).equals("e"))
                    System.out.print(">");
                if (get(mars, new int[] { i, j }).equals("w"))
                    System.out.print("<");

            }
            System.out.println();
        }
        for (int i = 0; i < max[0]; i++) {
            System.out.print("=");
        }
        System.out.println();
    }

    public static void main(String[] args) {

        if (args.length > 1) {
            long seed = Long.parseLong(args[1]);
            r.setSeed(seed);
             //System.out.println("Seed: " + seed);
        }
        erzeugHindernisse();
        String pg = args[0];
        out();
        for (int i = 0; i < pg.length(); i++) {
            make(pg.charAt(i));
            out();
        }
    }

    public static void make(char c) {
        if (c == 'f') {
            int[] p = findeRover();
            if (get(mars, p).equals("n"))
                p[1]--;
            else if (get(mars, p).equals("s"))
                p[1]++;
            else if (get(mars, p).equals("e"))
                p[0]++;
            else if (get(mars, p).equals("w"))
                p[0]--;
        } else if (c == 'b') {
            int[] p = findeRover();
            if (get(mars, p).equals("s"))
                p[1]--;
            else if (get(mars, p).equals("n"))
                p[1]++;
            else if (get(mars, p).equals("w"))
                p[0]++;
            else if (get(mars, p).equals("e"))
                p[0]--;
        } else if (c == 'l') {
            int[] p = findeRover();
            if (get(mars, p).equals("n"))
                mars.put(p, "w");
            else if (get(mars, p).equals("s"))
                mars.put(p, "e");
            else if (get(mars, p).equals("e"))
                mars.put(p, "n");
            else if (get(mars, p).equals("w"))
                mars.put(p, "s");
        } else if (c == 'r') {
            int[] p = findeRover();
            if (get(mars, p).equals("w"))
                mars.put(p, "n");
            else if (get(mars, p).equals("e"))
                mars.put(p, "s");
            else if (get(mars, p).equals("n"))
                mars.put(p, "e");
            else if (get(mars, p).equals("s"))
                mars.put(p, "w");
        }

    }

    private static int[] findeRover() {
        Set<Entry<int[], String>> entrySet = mars.entrySet();
        for (Entry<int[], String> entry : entrySet) {
            if (entry.getValue() != null && !entry.getValue().equals("#"))
                return entry.getKey();
        }
        throw new IllegalStateException("Rover missing in action");
    }

}
 

mrBrown

Super-Moderator
Mitarbeiter
ahahahaha ich sterbe
es geht um sauber Code zu schreiben und es geht um 10 regeln. und bevor ich damit anfangen möchte brauche ich hilfe für den Code.
Das Problem ist ich verstehe nicht ganz was der auschnitt macht. Mein verdacht ist dass die linked list das Feld bildet vom Mars und jeweilige Stellen von den Hindernisse ausrechnet. und die variablen ry und rx dienen für die Position des roboters
ich schicke dir den ganzen code
Dich selbst zu zitieren und darauf mit "dir" zu antworten entbehrt nicht einer gewissen Ironie....

Also sorry meinte hashmap.
Es ist eine LinkedHashMap, nicht "nur" eine HashMap.

ich soll die namen so umändern dass man direkt versteht worum es geht bei den variablen und methoden. [...]
Es geht mur um die erste Methode. also verstehe ich die richtig?
Die Methode erzeugt nicht nur Hindernisse, sondern fügt auch den Roboter hinzu.
 

mihe7

Top Contributor
und es geht um 10 regeln.
Die 10 Gebote, sauberen Code zu schreiben - also doch eine Sekte.
  1. Du sollst keine anderen Einrückungen neben mir haben
  2. Du sollst nicht begehren Else's Schlüsselwort
  3. Du sollst Objekte heiligen.
  4. Du sollst Collections ehren, auf dass sie ein Zuhause haben.
  5. Du sollst nicht das Gesetz von Demeter brechen
  6. Du sollst nicht falsch Abkürzungen verwenden wider besserer Namen
  7. Du sollst keine großen Entities haben
  8. Du sollst nicht begehren Objekte mit mehr als zwei Feldern
  9. Du sollst nicht stehlen Deines Objekts Zuständigkeit.
  10. Du sollst mir keinen Link zusenden, der nur 9 Gebote nennt.
 
H

Heyoka955

Gast
Breite??? Arrays haben immer nur eine Länge... und mehrdimensionale können mehrere Längen haben. :rolleyes:
ne ich meinte also höhe von y und lange hahah, tippe zu schnell. Also ich würde dir dann meinen sauberen Code mit Kommentar dazu schreiben.Ich überlege ob ich die zeile die den Roboter erstellt in eine neue Methode umänder? aber macht wenig Sinn, weil die beiden zum Feld gehören.
Java:
    static Random r = new Random();
    static LinkedHashMap<int[], String> mars;
    static int X_LAENGE = 80;              //Die Länge des Arrays.           
    static int Y_HOEHE = 20;            // die Höhe des Arrays
    static int ROBOT_XPOSITION = X_LAENGE / 2;   //Variablen statisch außerhalb der Klasseb gemacht, falls man später darauf zugreifen möchte.
    static int ROBOT_YPOSITION = Y_HOEHE / 2;

    public static void erzeugeDasFeld() {
        mars = new LinkedHashMap<>();
        
        for (int i = 0; i < X_LAENGE; i++) {
            for (int j = 0; j < Y_HOEHE; j++) {
                int[] positionVomHindernis = new int[] { i, j };
                if (r.nextDouble() < 0.25 && !(ROBOT_XPOSITION == i && ROBOT_YPOSITION == j))
                    mars.put(positionVomHindernis, "#"); //Füge zur HashMap die Position auf der Sich ein Hindernis befindet.
            }
        }
        mars.put(new int[] {ROBOT_XPOSITION , ROBOT_YPOSITION }, "n"); //Erzeuge den Roboter auf den jeweiligen Positionen
    }
 

mihe7

Top Contributor
ja klar sondern eine linkedhashmap aber wie soll ich die variable den umnennen?
Wozu ist denn diese LinkedHashMap da? Was wird gespeichert?

also wie findest du den Code?
Indem ich mir Kommentar #14 auf den Schirm hole.

denkst du man kann das noch schöner schreiben?
Die Frage ist: denkst Du, dass Du das noch schöner schreiben kannst?
 
H

Heyoka955

Gast
Wozu ist denn diese LinkedHashMap da? Was wird gespeichert?


Indem ich mir Kommentar #14 auf den Schirm hole.


Die Frage ist: denkst Du, dass Du das noch schöner schreiben kannst?
also ich finde schon aber ich überlege ob ich für die Zeile von dem wo der Roboter herstell wird doch eine eigene Methode schreibe?
aber macht kein Sinn. Das wichtige ist dass die Namen verständlich sind und dass man vielleicht getrennte Methoden schreiben kann falls das möglich ist.

eine hashmap ist eine Datenstruktur wie eine arraylist das jeodoch keinen index hat, sondern objekte auch keys genannt. in dem falle wäre dann i und j dann der schlüssel an dem das Objekt "stern" gespeichert wird. Das heißt es entsteht eine Liste.
 
Zuletzt bearbeitet von einem Moderator:

mihe7

Top Contributor
Ob Du neue Methoden einführen darfst, kann Dir nur das Aufgabenblatt oder Dein Betreuer beantworten. Findest Du den Variablennamen für die LinkedHashMap gut?
 
K

kneitzel

Gast
Du weisst, was eine LinkedHashMap ist bzw. was für Zugriffe es hier gibt. (Speziell das put solltest Du verstehen, denn das wird ja verwendet!)

Hast Du mal auf einem Zettel durchgespielt, was denn da somit in der Funktion passiert?

Bezüglich Namen: Du solltest da immer überlegen:
- Variablen: Was ist da eigentlich drin? "mars" ist da aus meiner Sicht wenig optimal. Wenn man die LinkedHashMap als eine Art Karte sehen will, dann würde das z.B. eher passen.
- Funktionen: Was passiert da genau? erstelleKarteUndSetzeRoverInDieMitte wäre da dann ein Funktionsname. Oder eben Deine Idee, das aufzuteilen: erstelleKarte und setzeRoverInMitte wäre aussagekräftig, oder?

Also ganz wichtig: Beschreibe exakt, was da in einer Variable ist oder was eine Funktion macht. Und ein "antworteImForum" Funktion darf dann nicht plötzlich auch Emails beantworten.
 
K

kneitzel

Gast
Jetzt habe ich mal angefangen, die Regeln für euren "Clean Code" anzusehen. Die erste Regel besagt, dass pro Funktion nur eine Einrückung erlaubt ist.
Damit musst Du die verschachtelten for Schleifen in Methoden überführen. Bei dem Link wird das ja auch genau beschrieben, wie dies auszusehen hat...
 
H

Heyoka955

Gast
Jetzt habe ich mal angefangen, die Regeln für euren "Clean Code" anzusehen. Die erste Regel besagt, dass pro Funktion nur eine Einrückung erlaubt ist.
Damit musst Du die verschachtelten for Schleifen in Methoden überführen. Bei dem Link wird das ja auch genau beschrieben, wie dies auszusehen hat...
wir haben noch nich damit angefnagen wir sollen erstmal darauf achten, Methoden aufzuteilen nach aufgabe also falls eine Methode mehrere aufgaben macht solle man evt eine weitere Methode schreibe, man soll auch gute methodennamen verwenden und variablenamen.
also habe den namen auf marskatze geändert
Java:
public class Start {

    static Random r = new Random();
    static LinkedHashMap<int[], String> marskarte;
    static int X_LAENGE = 80;                         
    static int Y_HOEHE = 20;           
    static int ROBOT_XPOSITION = X_LAENGE / 2;   //Variablen statisch außerhalb der Klasseb gemacht, falls man später darauf zugreifen möchte.
    static int ROBOT_YPOSITION = Y_HOEHE / 2;

    public static void erstelleKarteUndSetzeRoverInDieMitte() {
        marskarte = new LinkedHashMap<>();
        
        for (int i = 0; i < X_LAENGE; i++) {
            for (int j = 0; j < Y_HOEHE; j++) {
                int[] positionVomHindernis = new int[] { i, j };
                if (r.nextDouble() < 0.25 && !(ROBOT_XPOSITION == i && ROBOT_YPOSITION == j))
                    marskarte.put(positionVomHindernis, "#"); //Füge zur LinkedHashMap die Position auf der sich ein Hindernis befindet.
            }
        }
        marskarte.put(new int[] {ROBOT_XPOSITION , ROBOT_YPOSITION }, "n"); //Erzeuge den Roboter auf den jeweiligen Positionen
    }
 
K

kneitzel

Gast
Also bei Namen in Java ist es üblich, entweder camelCase (variablen, Funktionen) oder PascalCase (Klassen) zu verwenden.
Die marskarte wäre dann also marsKarte.

Ausnahme sind tatsächlich Konstanten, bei denen UPPER_CASE verwendet wird (soweit also richtig). Und wenn es nicht X und Y sondern marsKarte ist, dann heissen die Konstanten natürlich auch eher MARS_KARTE_LAENGE.
 
H

Heyoka955

Gast
und das ganze jetzt noch als Variablen-Name...
hier
Java:
    static Random r = new Random();
    static LinkedHashMap<int[], String> marsKarte;
    static int X_LAENGE_MARSES = 80;                         
    static int Y_HOEHE_MARSES = 20;           
    static int ROVER_XPOSITION = X_LAENGE_MARSES / 2;   //Variablen statisch außerhalb der Klasseb gemacht, falls man später darauf zugreifen möchte.
    static int ROVER_YPOSITION = Y_HOEHE_MARSES / 2;

    public static void erstelleKarteUndSetzeRoverInDieMitte() {
        marsKarte = new LinkedHashMap<>();
        
        for (int i = 0; i < X_LAENGE_MARSES; i++) {
            for (int j = 0; j < Y_HOEHE_MARSES; j++) {
                int[] positionVomHindernis = new int[] { i, j };
                if (r.nextDouble() < 0.25 && !(ROVER_XPOSITION == i && ROVER_YPOSITION == j))
                    marsKarte.put(positionVomHindernis, "#"); //Füge zur LinkedHashMap die Position auf der sich ein Hindernis befindet.
            }
        }
        marsKarte.put(new int[] {ROVER_XPOSITION , ROVER_YPOSITION }, "n"); //Erzeuge den Roboter auf den jeweiligen Positionen
    }
 
H

Heyoka955

Gast
Die Variablen stehen an der gleichen Stelle, wie im zuerst gezeigten Code und ganz sicher nicht "außerhalb der Klasseb".
Nein bevor ich das geändert hatte, standen die da.
Der Ursprungscode war so dass die Variablen innerhalb der Methode war. Und ich hatte so geändert aber ist auch nicht so wichtig.
Das was zählt sind die variablennamem.
 

mrBrown

Super-Moderator
Mitarbeiter
Nein bevor ich das geändert hatte, standen die da.
Der Ursprungscode war so dass die Variablen innerhalb der Methode war. Und ich hatte so geändert aber ist auch nicht so wichtig.
Das was zählt sind die variablennamem.
lokale Variablen zu statische Variablen ändern ist ganz sicher keine "nicht wichtige Änderung". Um das in diesem Code ändern zu können, muss man ziemlich viel ändern, was ich dir ehrlich gesagt nicht zutraue...

Oder es geht nur um die beiden untersten, dann ist der Kommentar aber immer noch falsch, weil sie jetzt IN der Klasse und NICHT außerhalb der Klasse stehen.
 
H

Heyoka955

Gast
Und immer noch: Was hat denn das 'X' (bzw. das 'Y') im Namen zu bedeuten?
Im Ursprungscode stand x und y
lokale Variablen zu statische Variablen ändern ist ganz sicher keine "nicht wichtige Änderung". Um das in diesem Code ändern zu können, muss man ziemlich viel ändern, was ich dir ehrlich gesagt nicht zutraue...

Oder es geht nur um die beiden untersten, dann ist der Kommentar aber immer noch falsch, weil sie jetzt IN der Klasse und NICHT außerhalb der Klasse stehen.
ea geht um die letzten vier konstanten also alle Variablen die in x y in Verbindung stehen. Ich hatte die voher innerhalb der Methode gehabt aber da das unübersichtlich war keinen Einfluss hat hab ich sie außerhalb der Methode gemacht.
 
K

kneitzel

Gast
Falsch ist ein harter Begriff, den ich so nicht verwenden würde. So der Code funktioniert könntest Du alle Variablen V<UUID> nennen, also z.B. v029d43f298ef40f5a73e7d698ac09578, vf9ea0cb25f474b59b5dee2cbff5450fa, ... (Generator kannst Du z.B. im Web unter https://www.uuidgenerator.net/ finden...) Kann sogar "richtig" sein, wenn die Anforderungen entsprechend sind. (So Anforderungen gibt es und dann gibt es entsprechende Tools, die Code unleserlich machen. Nennt sich dann meist Obfuscator.)

Aber Dein Anspruch ist doch dass die Namen gewissen "Clean Code" Ansprüchen genügen sollen. Und da würde ich dann von besser und schlechter reden und nicht von richtig oder falsch.

Bei Namen wie X_LAENGE_MARSES ist dann doch tatsächlich die Frage, was da angegeben wird. Was ist X? Klar, x/y wird bei Koordinatensystemen of verwendet, aber das sind dann nur Kürzel. An die Achsen schreist Du aber dann doch hoffentlich, was da abgebildet ist. Also z.B. an die x Achse schreibst Du "Zeit in Sekunden" und an die Y Achse dann "Temperatur in Grad Celsius". Und schon macht die Kurve einen Sinn. Und wenn Du da etwas beschreibst, dann sprichst Du doch nicht von X und Y sondern von Grad Celsius Temperatur zu einem bestimmten Zeitpunkt. Also statt X sprichst Du von einem Zeitpunkt und statt Y von der Temperatur.

Also worauf man hier schlicht hinaus wollte: X und Y macht keinen Sinn. Das besagt schlicht nichts aus!

Und dann LAENGE und HOEHE. Ist es eine LAENGE? Dinge haben eine Breite und eine Höhe. Und dann ist es doch eher die Karte vom Mars und nicht der Mars selbst. Also sowas wie BREITE_KARTE und HOEHE_KARTE.

Als Entwickler abstrahiert man nun einmal. Da wird nicht mehr von "Herbie" gesprochen. Mag ja sein, dass Du Dein Auto Herbie nennst, aber es ist dann doch eher ein Auto oder Fahrzeug. So ist es hier egal, ob es nun der Mars, die Erde, eine erfundener Planet oder sonst was ist. Abstrahiere davon.

Viele Grüße,

Konrad
 
H

Heyoka955

Gast
Falsch ist ein harter Begriff, den ich so nicht verwenden würde. So der Code funktioniert könntest Du alle Variablen V<UUID> nennen, also z.B. v029d43f298ef40f5a73e7d698ac09578, vf9ea0cb25f474b59b5dee2cbff5450fa, ... (Generator kannst Du z.B. im Web unter https://www.uuidgenerator.net/ finden...) Kann sogar "richtig" sein, wenn die Anforderungen entsprechend sind. (So Anforderungen gibt es und dann gibt es entsprechende Tools, die Code unleserlich machen. Nennt sich dann meist Obfuscator.)

Aber Dein Anspruch ist doch dass die Namen gewissen "Clean Code" Ansprüchen genügen sollen. Und da würde ich dann von besser und schlechter reden und nicht von richtig oder falsch.

Bei Namen wie X_LAENGE_MARSES ist dann doch tatsächlich die Frage, was da angegeben wird. Was ist X? Klar, x/y wird bei Koordinatensystemen of verwendet, aber das sind dann nur Kürzel. An die Achsen schreist Du aber dann doch hoffentlich, was da abgebildet ist. Also z.B. an die x Achse schreibst Du "Zeit in Sekunden" und an die Y Achse dann "Temperatur in Grad Celsius". Und schon macht die Kurve einen Sinn. Und wenn Du da etwas beschreibst, dann sprichst Du doch nicht von X und Y sondern von Grad Celsius Temperatur zu einem bestimmten Zeitpunkt. Also statt X sprichst Du von einem Zeitpunkt und statt Y von der Temperatur.

Also worauf man hier schlicht hinaus wollte: X und Y macht keinen Sinn. Das besagt schlicht nichts aus!

Und dann LAENGE und HOEHE. Ist es eine LAENGE? Dinge haben eine Breite und eine Höhe. Und dann ist es doch eher die Karte vom Mars und nicht der Mars selbst. Also sowas wie BREITE_KARTE und HOEHE_KARTE.

Als Entwickler abstrahiert man nun einmal. Da wird nicht mehr von "Herbie" gesprochen. Mag ja sein, dass Du Dein Auto Herbie nennst, aber es ist dann doch eher ein Auto oder Fahrzeug. So ist es hier egal, ob es nun der Mars, die Erde, eine erfundener Planet oder sonst was ist. Abstrahiere davon.

Viele Grüße,

Konrad
Ich habe das schon auf marsKarte umge
Statt „falsch“ würde ich sagen, es zeigt, dass du dir keine Gedanken zu den Namen gemacht hast...
mars stand so drinne, den habe ich aber geändert auf marsKarte.
Und soll ich das jetzt auf breite und hoehe Karte ändern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
T OOP Mein erstes Java-Spiel - Schiffe versenken! Java Basics - Anfänger-Themen 2
J Bald erstes Java Buch durchgearbeitet - Wie gehts nun weiter? Java Basics - Anfänger-Themen 6
B erstes Java-Applet Java Basics - Anfänger-Themen 7
G Erstes Java-Programm Java Basics - Anfänger-Themen 10
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
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben