Geschweifte Klammern ( { ) in Java selbst zum verbinden auswählen?

Hier zum gucken - (programmieren, Java, geschweifte Klammern)

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Vielleicht versteh ich deine Frage nicht recht, aber du willst anscheinend Einen Block bilden, der von Klammern umschlossen wird. Dies geschieht automatisch durch Java bzw. wird durch deinen Editor veranschaulicht. 

Wenn eine Klammer geöffnet wird, muss sie auch wieder geschlossen werden. Wird vor dem Schließen eine andere Klammer geöffnet, muss erst diese geschlossen werden um dann die umfassende Klammer zu schließen.

Die Klammer die du mit der ersten "verbinden" willst ist das Ende deiner If else Abfrage. Damit dies auch gleichzeitig das Ende der Methode wird, musst du einfach eine weitere Klammer einfügen. (bzw 2 Klammern, da auch die Klammer der ersten If Abfrage nicht geschlossen wurde. Habe hier mal Kommentare zu den Klammern geschrieben, dann versteht mans leichter:)

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {

Player p = (Player)sender;

if (cmd.getName().equalsIgnoreCase("cookie")) {
if (p.hasPermission("help.cmd")) {
p.sendMessage("§eUnserPlugin§7>§aHier ist ein Keks für dich!");
} else {
p.sendMessage("§eUnserPlugin§7>§4Du hast keine Rechte!");
} //end of: else }//end of: if(cmd.getName... }//end of: onCommand

Es müssen immer gleich viele öffnende wie schließende Klammern vorhanden sein!

~Tim

Du HAST die volle Kontrolle über die Klammerkuppelung.

Aber eine Struktur wie { ...(...}...) ist rein semantisch völlig unmöglich.

Wenn du mit deinen Klammern durcheinander kommst, dann versuche, sie übersichtlich einzurücken.

Das geht nicht. Zu jeder öffnenden Klammer muss es auch eine schließende Klammer geben. Diese "Verbindung" zeigt dir nur an, welche zwei Klammern zusammengehören. Wenn du die beschriebenen Klammern verbinden möchtest, müsstest du also einfach links daneben nochmal zwei schließende Klammern machen, damit die beiden IFs beendet sind und die Klammer halt zur Endklammer der Methode wird.

Du solltest erst mal Java und die Bedeutung der Sprach-Elemente lernen, dann stellt sich diese Frage nicht.

Die (wenig sinnvolle) Antwort ist, dass du dann die Klammer hinter else und hinterdem ersten if löschen musst. Dann "verbindet" sich die untere Klammer automatisch mit der obersten