0 Daumen
221 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