0 Daumen
272 Aufrufe

Frage:

Bitte in C# eine Methoden erstellen:

public static string GetUniqueDigitsString(int[] digits)

In diese Methode soll der Benutzer nach Zahlen gefragt werden (Datentyp string), falls der Benutzer etwas anderes als Zahlen eingibt, soll ein Fehler Meldung erscheinen.

Und am Ende soll die Methode in Main aufgerufen werden.

Avatar von

1 Antwort

0 Daumen

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.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community