Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich bräuchte Hilfe bei dieser Aufgabe. Ich weiß bei der Aufgabe, dass das - bei 2 dann bei 2 4 usw gesetzt werden muss. Aber wie setze ich das in die Schleife um? Mit dem Modulo operator? Und wie schreibe ich das hin.
Ich bitte um Hilfe!
Den Modulo-Operator kannst Du zwar verwenden, notwendig ist er für die Aufgabe aber nicht. Schau Dir die einzelnen Zeilen genau an. Wie viele Leerzeichen stehen am Zeilenanfang/-ende? Welche Zusammenhänge gibt es zur Höhe? Und ähnliches. Dann formulierst Du einen Algorithmus und den kodierst Du dann in Java.
Hallo, überlege dir mal, was hier anstelle der Punkte geschrieben werden könnte:
Java:
public class Dreiecke {
public static void zeichneDreieckPlusMinus(int hoehe) {
for (int h = 0; h < hoehe; h++) {
for (int l = 0; l < (hoehe - h - 1); l++) {
System.out.print(" ");
}
char c1 = '+';
char c2 = '-';
for (int l = 0; l < h * 2 + 1; l++) {
System.out.print("+");
// if (...)
// System.out.print(...);
// else
// System.out.print(...);
}
for (int l = 0; l < (hoehe - h - 1); l++) {
System.out.print(" ");
}
System.out.println();
}
}
public static void main(String args[]) {
zeichneDreieckPlusMinus(4);
}
}
Ich sage nicht, dass es die schönte Variante wäre....
Kurz als Info: Java hat keinen Modulo bzw. Modulus Operator. Du wirst in der Java Language Specification und offiziellen Oracle Dokumentationen keine einzige Stelle finden, an der ein "Modulo" Operator genannt wird. Der % Operator ist der Rest- bzw. Remainder-Operator.
Siehe auch: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#floorMod-int-int-
The difference in values between floorMod and the % operator is due to the difference between floorDiv that returns the integer less than or equal to the quotient and the / operator that returns the integer closest to zero.
Hallo, überlege dir mal, was hier anstelle der Punkte geschrieben werden könnte:
Java:
public class Dreiecke {
public static void zeichneDreieckPlusMinus(int hoehe) {
for (int h = 0; h < hoehe; h++) {
for (int l = 0; l < (hoehe - h - 1); l++) {
System.out.print(" ");
}
char c1 = '+';
char c2 = '-';
for (int l = 0; l < h * 2 + 1; l++) {
System.out.print("+");
// if (...)
// System.out.print(...);
// else
// System.out.print(...);
}
for (int l = 0; l < (hoehe - h - 1); l++) {
System.out.print(" ");
}
System.out.println();
}
}
public static void main(String args[]) {
zeichneDreieckPlusMinus(4);
}
}
Ich sage nicht, dass es die schönte Variante wäre....
Ich komme jetzt nicht drauf was ich mit den c1 und c2 machen soll. Ich muss ja an jeder 2 stelle ein minus in jeder Zeile herausgeben. Nur ich weiß jetzt nicht wie ich das in das if hineinschreiben soll. Könntest du mir da vielleicht noch einen Tipp geben? Ich danke dir trotzdem jetzt schon für deine Hilfe!
Hallo, überlege dir mal, was hier anstelle der Punkte geschrieben werden könnte:
Java:
public class Dreiecke {
public static void zeichneDreieckPlusMinus(int hoehe) {
for (int h = 0; h < hoehe; h++) {
for (int l = 0; l < (hoehe - h - 1); l++) {
System.out.print(" ");
}
char c1 = '+';
char c2 = '-';
for (int l = 0; l < h * 2 + 1; l++) {
System.out.print("+");
// if (...)
// System.out.print(...);
// else
// System.out.print(...);
}
for (int l = 0; l < (hoehe - h - 1); l++) {
System.out.print(" ");
}
System.out.println();
}
}
public static void main(String args[]) {
zeichneDreieckPlusMinus(4);
}
}
Ich sage nicht, dass es die schönte Variante wäre....
Jeder versteht das, es ist nur faktisch falsch. Das ist als würde jeder zu dem + Operator "Ungefährmultiplikationsoperator" sagen, weil ja 2+2 = 4 und 0+0 = 0 ist.
Aber mathematisch ist -3 (mod 2) nunmal was anderes als -3 % 2.