Java, wie folgendes Muster erstellen?
Hallo Zusammen!
Ich versuche nun schon seit längerer Zeit mit einer for Schleife das Muster zu erstellen (siehe Anhang). Jedoch komm ich mit den Backslashes nicht ganz klar...Mit einfachen Sternen wüsste ich wie man das Muster erstellt, mit den Backslashes nicht.
Folgenden code habe ich benutzt:
public class ForwardAndBackward {
public static void main(String[] args) {
for(int i = 1; i <= 3; i = i+1) {
for(int j = 1; j <= i; j = j+1) {
System.out.println("\");
}
System.out.println();
}
}
}
Kann mir da jemand weiterhelfen?
Vielen Dank schon im Vorraus!!!
Gruss
4 Antworten
Damit du einen Backslash bekommst, musst du zwei Backslash in den String hintereinander schreiben: "\\"
Aber dein Programm ist ja weniger als halb fertig. Du brauchst
llbf
lbbff
bbbfff
bbbfff
lbbff
llbf
Dabei steht l für Leerschritt, b für Backslash und f für Forslash.
Wenn du mit Variablen arbeiten willst initialisierst du
String l = " ";
String b = "\\";
String f = "/";
Wenn du es mit Sternchen kannst, solltest du es auch mit diesen Zeichen können.
Und dann solltest du noch beachten, dass System.out.println an die Ausgabe einen Zeilenvorschub anhängt. Solange du in der gleichen Zeile bleiben willst, musst du print (ohne ln) verwenden.
Genau so, wie ich es dir aufgeschrieben habe. Ausgabe mit
System.out.print(b);
Also ohne die Gänsefüßchen.
Bei kommt folgender Error: ForwardAndBackward.java:9: error: unclosed string literal
System.out.println("\");
Du kannst "\" nicht printen, da es ein Sonderzeichen in Java ist, siehe http://www.informit.com/articles/article.aspx?p=30241&seqNum=3
Ich sage mal: Die Backslahes werden in Java verwendet, um spezielle Codes zu signalisieren:
\t = Tabulatorzeichen
\n = New Line
\f = Form feed
\" = Anführungszeichen als Zeichen und nicht als Teil der Syntax.
Wenn du also \ als Zeichen ausgeben willst, dann geschieht dies mittels...
printf("\\");
Bei den Slashes bleibt aber alles normal.
Backslahes leiten sogenannte Escape-Sequenzen ein.
Escape-Sequenzen sind eingebettete Steuerbefehle, die es zum Beispiel möglich machen Zeichen "einzusteuern" die üblicherweise der Programmiersprache vorbehalten sind. Zeilenumbrüche und Tabulatoren sind Beispiele dafür. Diese werden im Quellcode innerhalb von Zeichenketten mit \r oder \n oder \t codiert.
Logischerweise ist damit der Backslash selber der Programmiersprache vorbehalten und muss seinerseits "escaped" werden: \\
Vielen Dank!!! Ich bin relativ neu bei der Programmierung...Wie kann ich dann die Strings initialisieren, so dass ich sie mit system.out.println drucken kann?