c# basics, wie übertrage ich den wert in die ausgabe?
public class Triangle {
/// <summary>
/// Create a method that returns a triangle (as string) with the height of the passed parameter.
///
/// Example:
/// The a triagle with a height of 5 will look like this
///
/// 12345
/// 1234
/// 123
/// 12
/// 1
///
/// To start a new line in a string write \n
/// </summary>
public static string Create(int height) {
height = 8;
string ausg = "";
int i, j, k;
for (i = 0; i <= height; i++) {
for (j = 1; j <= height - i; j++) {}
for (k = 1; k <= j; k++) {
Console.Write(k);
}
Console.WriteLine("");
}
return ausg;
}
}
}
Es geht um eine Aufgabe mit einem Tester.
das return soll den dreieck von Cosole.Write(k) übernehmen.
wie kriege ich das hin?
2 Antworten
Methode Create:
public static string Create(int height)
{
// Höhe nicht fest auf 8 setzen
// height = 8;
string ausg = "";
for (int i = 0; i < height; i++) // Die äußere Schleife iteriert durch die Zeilen
{
for (int j = 0; j < height - i; j++) // Die erste innere Schleife fügt Leerzeichen hinzu
{
ausg += " ";
}
for (int k = 1; k <= i + 1; k++) // Die zweite innere Schleife fügt Zahlen hinzu
{
ausg += k;
}
ausg += "\n"; // Zeilenumbruch am Ende jeder Zeile
}
return ausg;
}
Aufrufen der Methode:
static void Main(string[] args)
{
int height = 5;
string triangle = Triangle.Create(height);
Console.WriteLine(triangle);
}
Wie drehe ich die funktion um? so, dass statt
1
12
1234
dann
123456789
12345678
1234567
kommt ?
Mit dem Konkatenationsoperator kannst du Strings mit anderen Strings verbinden.
Beispiel:
string text = "";
text = text + "some other text";
Oder in Kurzform:
text += "some other text";
Du kannst ebenso numerische Typen mit dem String verbinden:
text += 123;
Der Typecast des numerischen Werts zu einem String erfolgt hierbei implizit.
Zeilenumbrüche kannst du mit Escapezeichen bzw. besser dem Environment.NewLine-Property anhängen.
text += Environment.NewLine;