Antwort mit KI erzeugt
Lösungsschritte:
Um die Aufgabe zu lösen, werden wir die Methode
GetUniqueDigitsString
wie in der Aufgabenstellung beschrieben implementieren. Diese Methode wird Zahlen (als
int[]
Array) entgegennehmen, prüfen ob diese korrekt sind, und dann eine Zeichenkette mit den einzigartigen Ziffern zurückgeben. Da jedoch die Aufgabenstellung darauf hinweist, dass der Benutzer nach Zahlen in Form von Zeichenketten gefragt wird und bei falscher Eingabe eine Fehlermeldung angezeigt bekommen soll, benötigen wir eine kleine Anpassung im Vorgehen.
1. Zuerst erstellen wir eine Methode, die den Benutzer nach einer Zahl (als
string
) fragt und prüft, ob die Eingabe korrekt ist. Bei fehlerhafter Eingabe wird eine Fehlermeldung ausgegeben.
2. Dann implementieren wir die Methode
GetUniqueDigitsString
, die von der ersten Methode erhaltene korrekte Zahl (in unserem Fall Zahlen im Array) verwendet, um eine Zeichenkette mit allen einzigartigen Ziffern zurückzugeben.
Implementierung:
csharp
using System;
using System.Linq;
class Programm
{
static void Main(string[] args)
{
// Beispiel zum Aufruf der GetUniqueDigitsString Methode mit Benutzereingabe.
int[] digits = GetUserInputAsIntArray();
Console.WriteLine(GetUniqueDigitsString(digits));
}
public static int[] GetUserInputAsIntArray()
{
while (true)
{
Console.Write("Bitte geben Sie eine Reihe von Zahlen ein: ");
string input = Console.ReadLine();
// Validiere, ob alle Zeichen Zahlen sind (ohne Berücksichtigung der Einzigartigkeit hier)
if (input.All(char.IsDigit))
{
// Konvertiert die Zeichenkette in ein Array von int
return input.Select(digit => int.Parse(digit.ToString())).ToArray();
}
else
{
Console.WriteLine("Fehler: Eingabe enthält ungültige Zeichen. Bitte nur Zahlen eingeben.");
}
}
}
public static string GetUniqueDigitsString(int[] digits)
{
// Entferne Duplikate und konvertiere das Array zurück in einen String
return string.Join("", digits.Distinct());
}
}
Hinweis:
In dieser Lösung wird die Benutzereingabe zunächst als Ganzzahlreihe (
int[]
) erfasst und nach ihrer Validierung an
GetUniqueDigitsString
übergeben. Die Methoden
All()
und
Distinct()
aus Linq werden verwendet, um zu überprüfen, ob alle Zeichen Zahlen sind, und um Duplikate zu entfernen. Diese Vorgehensweise erlaubt uns im Einklang mit der Aufgabenstellung zu arbeiten, auch wenn die direkte Eingabeaufforderung für Zahlen in Form von
string
in
GetUniqueDigitsString
nicht genau dem Wortlaut der Aufgabenstellung entspricht. Der Schlüssel hier ist, dass die Überprüfung und Konversion der Benutzereingaben außerhalb der
GetUniqueDigitsString
Methode erfolgt, um den Anforderungen gerecht zu werden.