Hallo Leute, bin relativ neu im Programmierbereich und hätte eine Frage bzgl. der Thematik Strings.
Und zwar habe ich eine Aufgabe, in der gefordert wird eine Anzahl einzugeben. Diese Anzahl wiederum gilt als Wert
wieviele Texte ich eingeben kann. Und am Ende der Eingabe soll mir der längste Text ausgegeben werden.
Hier das Programm:
Wenn ich das Programm abspiele kommt heraus:
Mein Problem ist jetzt, dass ich wohl übelst auf dem Schlauch stehe. Ich weiss nicht wie ich nicht nur die Länge des längsten Wortes, sondern auch das längste Wort an sich im Ergebnissatz ausgeben kann.
Console.WriteLine(vieleTexte[Zahl2]);
funktioniert nicht.
Fehlermeldung im Compiler (SDK7): Index was outside the bounds of the array
Wäre für jede Hilfe dankbar :-)
LG
Und zwar habe ich eine Aufgabe, in der gefordert wird eine Anzahl einzugeben. Diese Anzahl wiederum gilt als Wert
wieviele Texte ich eingeben kann. Und am Ende der Eingabe soll mir der längste Text ausgegeben werden.
Hier das Programm:
Code:
using System;
class DerLängste {
static void Main() {
//1. Programm erfragt eine Anzahl und konvertiert diese in eine ganze Zahl
// Zudem definiert die eingegebene Anzahl die Größe des Arrays
Console.Write("Bitte geben Sie eine Anzahl ein: ");
string Eingabe = Console.ReadLine();
int Anzahl = Convert.ToInt32(Eingabe);
int Zahl = 0;
string[] vieleTexte = new string[Anzahl];
//2. Programm liest mit Hilfe einer Schleife Strings in Höhe der Anzahl
// und speichert diese in ein Array
Console.WriteLine();
Console.WriteLine("Bitte geben Sie "+Anzahl +" Texte ein: ");
while(Zahl < Anzahl) {
vieleTexte[Zahl] = Console.ReadLine();
++Zahl;
}
//3. Längsten String ausgeben
int Zahl2 = 0;
int bgString = vieleTexte[0].Length;
while(Zahl2 < Anzahl) {
if ( bgString < vieleTexte[Zahl2].Length)
{
bgString = vieleTexte[Zahl2].Length;
}
++Zahl2;
}
Console.WriteLine("------------------------------------------");
Console.WriteLine("Der längste Text ist -"+"- mit "+bgString+" Zeichen.");
}
}
Wenn ich das Programm abspiele kommt heraus:
Bitte geben Sie eine Anzahl ein: x
Bitte geben sie 5 Texte ein:
x
xx
xxx
xxxx
xxxxx
---------------------------------------------------
Der längste Text ist -- mit x Zeichen.
Mein Problem ist jetzt, dass ich wohl übelst auf dem Schlauch stehe. Ich weiss nicht wie ich nicht nur die Länge des längsten Wortes, sondern auch das längste Wort an sich im Ergebnissatz ausgeben kann.
Console.WriteLine(vieleTexte[Zahl2]);
funktioniert nicht.
Fehlermeldung im Compiler (SDK7): Index was outside the bounds of the array
Wäre für jede Hilfe dankbar :-)
LG