Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Hallo, wieso muss ich in der letzten Zeile bei System.out.println immer diese zwei + bei jeder Variable eingeben?
Wenn ich das nicht mache kommt die
- Line breakpoint:SecondTest [line: 13] - main(String[]) - Syntax error, insert ";" to complete Statement MethodInvocation - Syntax error, insert ")" to complete - Syntax error on token "" ist "", ; expected AssignmentOperator - Syntax error on token "" und "", invalid
Wenn ich nur eins eingebe kommt das hier:
main(String[]) - Line breakpoint:SecondTest [line: 13] - token - Syntax error on token ""ist "", delete this token - Syntax error on token ""und "", delete this Multiple markers at this line
Es funktioniert mit den + aber irgendwie macht das doch keinen Sinn weil ich dort ja nichts mehr + rechne das hab ich vorher schon gemacht. Und bei der zweiten Fehlermeldung steht das ich zwei "" geschrieben habe stimmt aber auch nicht oder?
yjI2yLH.png
 
Die + machen schon einen Sinn. Die brauchst du, dass Java die einzelnen Variablen zusammenfügt. Kannst du dir ungefähr wie ne Addition vorstellen, nur dass die Variablen bzw Strings nur aneinander gehängt werden. Wenn ich dir jetz sage rechne das: 2 8 dann weißt du auch nicht was du damit genau machen sollst. So ist es auch bei Java.
 
  • Like
Reaktionen: Lyrous
Hey,
das Plus in der 13. Zeile dient nicht zum addieren, sondern um aus den Strings und den Integern einem String zu erstellen, den du dann printlst. Setzt du das Plus aber, um einen int, etc zu erstellen, werden die Werte addiert.

Heißt:
Code:
int stunde = 14;
System.out.println("Es ist " + stunde + " Uhr!");
Ausgabe: Es ist 14 Uhr!

int i = 2 + 2;
System.out.println(i);
Ausgabe: 4

MfG

//edit: @MegaDampfnudel war schneller... :D
 
  • Like
Reaktionen: Lyrous
Hey,
das Plus in der 13. Zeile dient nicht zum addieren, sondern um aus den Strings und den Integern einem String zu erstellen, den du dann printlst. Setzt du das Plus aber, um einen int, etc zu erstellen, werden die Werte addiert.

Heißt:
Code:
int stunde = 14;
System.out.println("Es ist " + stunde + " Uhr!");
Ausgabe: Es ist 14 Uhr!

int i = 2 + 2;
System.out.println(i);
Ausgabe: 4

MfG

//edit: @MegaDampfnudel war schneller... :D
Deutsche Variabeln q.q
 
  • Like
Reaktionen: MrsUniverse
So Moin erstmal,
aufgrund von Faulheit den Kompletten Thread durch zu lesen, stelle ich hier einfach mal eine Frage, welche eventuell bereits gestellt worden ist.
Folgendes:
Wie kann ich Queries Asynchron ablaufen lassen?

lg
Loïc

So Moin erstmal,
aufgrund von Faulheit den Kompletten Thread durch zu lesen, stelle ich hier einfach mal eine Frage, welche eventuell bereits gestellt worden ist.
Folgendes:
Wie kann ich Queries Asynchron ablaufen lassen?

lg
Loïc
Und noch was;
Wieso kriege ich 'ne EventException in's Gesicht geklatscht, wenn ich versuche im PlayerJoinEvent, dem Spieler ein Inventar zu öffnen? Früher ging das doch, oder?
 
Kann ich mit den Videos dann nur lernen oder könnte ich damit irgendwas coden was hilfreich wäre? :D Mit Minecraft kann ich ja noch nich anfangen ;)

Ich bin ein Profi xD

ZwtoId2.jpg

Du musst etwa die ersten 30 Folgen oder so einfach mal schauen, begreifen und lernen. Davor wirst du nichts nützliches programmieren können. Sobald du aber die Grundlagen kennst, kannst du einfach kreativ sein und dir überlegen was man alles mit dem gelernten anstellen könnte. Als ich angefangen habe Java und allgemein Programmierern zu lernen, war ich etwa in der 6. oder 7. Klasse und wir hatten in Mathe gerade Geometrie durch-genommen. Ich haben mir dann mit meinen beschiedenen Programmier-Kenntnissen ein Programm programmiert, welches verschiedene geometrische Figuren berechnet hat. So konnte ich die Hausaufgaben einfach in das Programm eintippen und dann hatte ich alle Lösungen. Mir ist natürlich klar, dass es im Internet ganz viele Seiten gibt auf denen man geometrische Figuren berechnen kann, trotzdem war das für mich nützlich.

Also, musst du einfach nur etwas kreativ sein. Mit Java kannst du eigentlich fast alles programmieren, Bukkit/Spigot ist nur ein ganz kleines Anwendungsgebiet von Java. Du bist also kaum eingeschränkt in deiner Kreativität ;)

Viel Glück!
 
Du musst etwa die ersten 30 Folgen oder so einfach mal schauen, begreifen und lernen. Davor wirst du nichts nützliches programmieren können. Sobald du aber die Grundlagen kennst, kannst du einfach kreativ sein und dir überlegen was man alles mit dem gelernten anstellen könnte. Als ich angefangen habe Java und allgemein Programmierern zu lernen, war ich etwa in der 6. oder 7. Klasse und wir hatten in Mathe gerade Geometrie durch-genommen. Ich haben mir dann mit meinen beschiedenen Programmier-Kenntnissen ein Programm programmiert, welches verschiedene geometrische Figuren berechnet hat. So konnte ich die Hausaufgaben einfach in das Programm eintippen und dann hatte ich alle Lösungen. Mir ist natürlich klar, dass es im Internet ganz viele Seiten gibt auf denen man geometrische Figuren berechnen kann, trotzdem war das für mich nützlich.

Also, musst du einfach nur etwas kreativ sein. Mit Java kannst du eigentlich fast alles programmieren, Bukkit/Spigot ist nur ein ganz kleines Anwendungsgebiet von Java. Du bist also kaum eingeschränkt in deiner Kreativität ;)

Viel Glück!
Wie Geil :D
Ich kann hier bestimmt auch fragen stellen wenn ich was nicht verstehe oder?
z.B. bin ich gerade bei der Folge in der er Methoden erklärt. Ich verstehe nicht ganz was die bringen wieso kann man nicht einfach alles in der richtigen Reihenfolge schreiben? Dann müsste man nicht zur Methode (oder Funktion) springen und dann wieder zurück
 
Wie Geil :D
Ich kann hier bestimmt auch fragen stellen wenn ich was nicht verstehe oder?
z.B. bin ich gerade bei der Folge in der er Methoden erklärt. Ich verstehe nicht ganz was die bringen wieso kann man nicht einfach alles in der richtigen Reihenfolge schreiben? Dann müsste man nicht zur Methode (oder Funktion) springen und dann wieder zurück
Du kannst mir gerne Fragen stellen, tue dies jedoch in einer Privaten Unterhaltung um diesen Thread nicht zuzuspammen.
 
  • Like
Reaktionen: Lyrous
(kA, ob die Frage schon beantwortet wurde)
Wie Geil :D
Ich kann hier bestimmt auch fragen stellen wenn ich was nicht verstehe oder?
z.B. bin ich gerade bei der Folge in der er Methoden erklärt. Ich verstehe nicht ganz was die bringen wieso kann man nicht einfach alles in der richtigen Reihenfolge schreiben? Dann müsste man nicht zur Methode (oder Funktion) springen und dann wieder zurück

Ich schätze mal, dass dient auch der Übersichtlichkeit...
Das heißt, wenn du einen Codeschnipsel hast und diesen öfters ausführst, kannst du diesen in eine Methode packen und diese öfters ausführen. Mir würde es sonst etwas unübersichtlich werden.
Das heißt:
Code:
public void sampleText() {
  Bukkit.broadcastMessage("This");
  Bukkit.broadcastMessage("is");
  Bukkit.broadcastMessage("a");
  Bukkit.broadcastMessage("sample");
  Bukkit.broadcastMessage("text!");
}

@EventHandler
public void onJoin(PlayerJoinEvent event) {
  sampleText();
}

@EventHandler
public void onQuit(PlayerQuitEvent event) {
  sampleText();
}

Code:
@EventHandler
public void onJoin(PlayerJoinEvent event) {
  Bukkit.broadcastMessage("This");
  Bukkit.broadcastMessage("is");
  Bukkit.broadcastMessage("a");
  Bukkit.broadcastMessage("sample");
  Bukkit.broadcastMessage("text!");
}

@EventHandler
public void onQuit(PlayerQuitEvent event) {
  Bukkit.broadcastMessage("This");
  Bukkit.broadcastMessage("is");
  Bukkit.broadcastMessage("a");
  Bukkit.broadcastMessage("sample");
  Bukkit.broadcastMessage("text!");
}

Was ist übersichtlicher? ;)

Man kann Methoden aber nicht nur 'stumpf' ausführen, sondern ihnen auch Variablen übergeben.

Code:
public void teleportAll(Player destination) {
  for(Player target : Bukkit.getOnlinePlayers()) {
    destination.teleport(destination)
  }
}
Und im Code übergibt man die Variablen in den Klammern:
Code:
teleportAll(player);

Was ist aber, wenn man zum Beispiel einen Getter, wie zum Beispiel player.getName(); schreiben will? O.o
Man ersetzt das (bisherige) void duch den Variablentyp, den die Methode zurückgeben bzw returnen soll.
Um nun die zu returnende Variable festzulegen, schreibt man
Code:
return variable;
. Falls diese nicht festgelegt sein sollten, kommt es zu Fehlern. (Außer, der Variablentyp ist void)

Das heißt jetzt zum Beispiel:
Code:
public String getTeam(Player player) {
  String teamname = teams.getValue(player);
  return teamname;
}
und im Code zum Beispiel:
Code:
public void onDeath(PlayerDeathEvent event) {
  Player player = event.getPlayer();
  Bukkit.broadcastMessage("Der Spieler " + player.getName(); + " aus Team " + getTeam(player) + " ist gestorben.");
}

Ich hoffe, ich konnte ein wenig helfen...

MfG
 
  • Like
Reaktionen: Lyrous
Wie Geil :D
Ich kann hier bestimmt auch fragen stellen wenn ich was nicht verstehe oder?
z.B. bin ich gerade bei der Folge in der er Methoden erklärt. Ich verstehe nicht ganz was die bringen wieso kann man nicht einfach alles in der richtigen Reihenfolge schreiben? Dann müsste man nicht zur Methode (oder Funktion) springen und dann wieder zurück

Das heißt, wenn du einen Codeschnipsel hast und diesen öfters ausführst, kannst du diesen in eine Methode packen und diese öfters ausführen. Mir würde es sonst etwas unübersichtlich werden.

1. Methoden verbessern die Übersicht für den Programmierer
2. Methoden helfen doppelten Code zu vermeiden. So können gewisse Vorgänge in Methoden ausgelagert werden, und anstatt 4 x 10 Zeilen gleichen Code zu schreiben kann man einmal die Methode schreiben und diese 4 mal aufrufen. Wenn man später nun irgendwas ändern will muss man nur an dieser Methode etwas ändern und nicht an den 4 Stellen. Somit hilft es auch flexibel zu bleiben, da man Änderungen schnell und unkompliziert vornehmen kann.

MfG
Nic. :D
 
  • Like
Reaktionen: Lyrous
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop