C# Zahlen quadrieren

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Musst du nicht vorher "Ergebnis=1" machen?

Ist die Anweisung "Parse" in C# sicher? In Java ist das eine gefährliche Exception-Quelle.

0
@PerfectMuffin

wenn mich nicht täusche ist das selbe wie Convert.ToDouble oder Covert.ToInt

0
@Walvater

Die .Parse Methoden können Exceptions werfen, und die sollten auf jedenfall abgefangen werden. Vor allem, wenn man eine Benutzereingabe versucht damit zu konvertieren.

Besser ists gleich .Tryparse(string, out int) zu nehmen, da bekommt man einen Booleschen Rückgabewert, der angiebt obs geklappt hat oder nicht.

0

Dies ist der gesamte, hatte


            double Zahl1 = double.Parse(Xzahl.Text);
            double Zahl2 = double.Parse(Yzahl.Text);
            double Ergebnis;

vorhin vor dem if aber als die Quadrierung dazu kam musste wegen int ...

private void cmd_Click(object sender, EventArgs e) {

        if (AD.Checked)
        {

            double Zahl1 = double.Parse(Xzahl.Text);
            double Zahl2 = double.Parse(Yzahl.Text);
            double Ergebnis;

           Ergebnis = Zahl1 + Zahl2;
           lbl.Text = "Die Summe ist :" + Ergebnis.ToString ();
        }


        if (SB.Checked)
        {
            double Zahl1 = double.Parse(Xzahl.Text);
            double Zahl2 = double.Parse(Yzahl.Text);
            double Ergebnis;

         Ergebnis = Zahl1 - Zahl2;
         lbl.Text = "Die Differenz ist :" + Ergebnis.ToString ();
        }


        if (MP.Checked)
        {
            double Zahl1 = double.Parse(Xzahl.Text);
            double Zahl2 = double.Parse(Yzahl.Text);
            double Ergebnis;

            Ergebnis = Zahl1 * Zahl2;
            lbl.Text = "Das Produkt ist :" + Ergebnis.ToString();
        }


        if (DV.Checked)
        {
            double Zahl1 = double.Parse(Xzahl.Text);
            double Zahl2 = double.Parse(Yzahl.Text);
            double Ergebnis;

            Ergebnis = Zahl1 / Zahl2;
            lbl.Text = "Der Quotienten ist :" + Ergebnis.ToString();
        }


        if (HY.Checked)

        {
            double Zahl1 = double.Parse(Xzahl.Text);
            int Zahl2 = int.Parse(Yzahl.Text);
            double Ergebnis;

            if (Zahl2 == 0)
            {
                lbl.Text = "Das Ergebniss ist : 1";
            }

            else

            {
                for (int i = 1; i < Zahl2; i++ )
                {
                    Ergebnis = Ergebnis * Zahl1;

                }



                lbl.Text = "Das ergebnis ist : " + Ergebnis.ToString();
            }

Auf die Gefahr hin, dass variablen mit nativen Datenytypen in C# null sein können würde ich sagen, Ergebnis ist null. was mit der fehlermeldung nicht übereinstimmt. Ist das dein Gesamter Code? In welcher Zeile tritt der Fehler auf? Der Fehler sagt ja, das Ergebnis nicht definiert ist. Ist es aber. Und so muss auch in den zwei ifs drauf zugegriffen werden können. Wird Ergbnis noch woanders benutzt?