C# :: Aufgabe #298 :: Lösung #1

4 Lösungen Lösungen öffentlich
#298

Zeichenkette einlesen, auf 10 Wörter prüfen und jedes Vokal ersetzen

Anfänger - C# von Cara - 02.04.2020 um 17:41 Uhr
Schreibe ein Programm welches den Benutzer auffordert eine Zeichenkette einzugeben. Diese Zeichenkette sollte mindestens 10 Wörter haben. Wenn diese Anforderung nicht gegeben ist, so wird erneut zur Eingabe aufgefordert, solange bis er 10 Wörter oder "exit" eingibt. Bei "exit" wird das Programm beendet.

Beinhaltet die eingegebene Zeichenkette mindestens 10 Wörter, so werden alle Vokale durch ein "i" ersetzt und ausgeben.
#1
3 Kommentare
vote_ok
von JKooP (18090 Punkte) - 04.04.2020 um 15:54 Uhr
NET Core 3.x

Quellcode ausblenden C#-Code
using System;
using System.Linq;
using System.Text.RegularExpressions;

namespace CS_Aufgabe_289_Zeichenkette_Einlesen
{
    class Program
    {
        static void Main(string[] args)
        {
            string input;
            string[] arr;
            do
            {
                Console.Write("Bitte Zeichenkette mit mindestens 10 Wörtern eingeben (Beenden = 'exit'): ");
                input = Console.ReadLine();
                arr = input.Split(" ");
                if (arr.Where(x => x.ToUpper() == "EXIT").ToList().Count > 0)
                    return;
            } while (arr.Count() < 10);

            Console.WriteLine(new Regex(@"[AaEeIiOoUu]").Replace(input, "i"));
        }
    }
}

Kommentare:

Spooner

Punkte: 340


8 Lösungen
2 Kommentare

#1
17.04.2020 um 23:42 Uhr
Deine Lösung hat mich geflasht weil die ultra kurz ist.
Ich bin zwar absoluter Neuling hier, aber zwei Dinge an deinem Code müssten noch angepasst werden, damit der sauber läuft.

1. Die Methode Split in Zeile 17 verlangt einen Char also ' ' statt " "
2. Am Ende das Console.ReadKey(); damit das Dingens auch offen bleibt =)

Sonst tut das genau was es soll. Echt toller Code, danke dafür.
post_arrow
625 0

JKooP

Punkte: 18090

680 Aufgaben
227 Lösungen
19 Kommentare

#2
18.04.2020 um 07:45 Uhr
Hallo Spooner,

es freut mich, dass Dir meine Lösung gefällt.

Zu Deinen Anmerkungen:
Ich habe das Programm in NET Core 3.x und nicht in NET Framework programmiert.
Dadurch ergeben sich einige Vorteile, wie z.B.:
- die Funktion "Split" ist überladen und nimmt auch Strings entgegen,
- "Console.ReadKey()" ist am Ende nicht mehr nötig.
Wenn Du das NET Framework nutzt, musst es natürlich so wie Du beschrieben hast ändern.

Gruß JKooP
post_arrow
626 0

Spooner

Punkte: 340


8 Lösungen
2 Kommentare

#3
19.04.2020 um 20:30 Uhr
Hi JKooP

Danke für deine Rückmeldung. Das wusste ich noch nicht, wieder etwas neues gelernt =)

Gruss Spooner
post_arrow
629 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben