none
Warum steht da: "Eine implizite Konvertierung von Typ Int in bool ist nicht möglich." ?? RRS feed

  • Frage

  •            

    Hallöchen, hoffe mir kann hier mal jemand weiterhelfen. :)

               Console.WriteLine("Wie viele Wuerfel?");
               int wuerfel = int.Parse(Console.ReadLine());
               Console.WriteLine("Wie viele Wuerfe?");
               int wuerfe = int.Parse(Console.ReadLine());

               int[] augenzahlen = Berechnung(wuerfel, wuerfe);
               int[] tabelle = int[wuerfel * 6 + 1];
               foreach (int wurf in augenzahlen)
               {
               tabelle[wurf] += 1;
               }


                string horizontal;
                horizontal = "----------------------";
                Console.WriteLine(horizontal);
                Console.WriteLine("|  Augenzahl   |     Anzahl    |");
                Console.WriteLine(horizontal);



                for (int i = wuerfel; i = wuerfel * 6 + 1; i++)   >>HIER DAS GENANNTE PROBLEM (i=wuerfel*6+1; i++;)

                {
                Console.WriteLine("|    {0}    |     {1}     |", wuerfel, tabelle[wuerfel]);
                Console.WriteLine(horizontal);
                }
                Console.ReadLine();
                }

            static int[] Berechnung(int wurfel, int wuerfe)
            {
                Random random = new Random();
                int[] augenzahlen = new int[wuerfe];
                int augenzahl;
                for (int i = 0; i = wuerfe; i++)
                {
                    augenzahl = 0;
                    for (int j = 0; j = wuerfel; j++)
                    {
                        augenzahl += random.Next(0, 7);
                    }
                    augenzahlen[i] = augenzahl;
                }
                return augenzahlen;

            }
        }
    }

                               
    Dienstag, 3. Januar 2017 09:59

Antworten

Alle Antworten

  • Hi,

    einen Wertevergleich für man in C# mittels ==, nicht mit = durch.

    Daher sind die Schleifenbedingungen von der Syntax her falsch.

    for( int i = wuerfel; i == wuerfel * 6 + 1; i++ )

    (an allen anderen Stellen dieser Art auch)

    Ob das Konstrukt nun der von dir gewünschten Logik entspricht, kann ich dir natürlich nicht sagen, das müsstest Du dann jetzt rausfinden :)


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Dienstag, 3. Januar 2017 10:04
  • Ah okay vielen Dank :) hab da jetzt aber doch noch eine andere Kleinigkeit. Tut mir leid feile da schon 'ne Weile dran, jetzt hängen einen doch die Kleinigkeiten auf. xD

            static int[] Berechnung(int wurfel, int wuerfe)
            {
                Random random = new Random();
                int wuerfel;
                int[] augenzahlen = new int[wuerfe];
                int augenzahl;

                for (int i = 0; i == wuerfe; i++)                          
                {
                    augenzahl = 0;
                    for (int k = 0; k == wuerfel; k++)   HIER ist k== wuerfel angeblich nicht zugewiesen worden
                    {
                        augenzahl += random.Next(0, 7);
                    }
                    augenzahlen[i] = augenzahl;
                }
                return augenzahlen;

            }
        }
    }

    Dienstag, 3. Januar 2017 10:30
  • Hi,

    schau dir bitte mal deine Variablennamen an. Du übergibst "int wurfel", deklarierst dann noch eine lokale Variable "int wuerfel" ohne Initialisierung.

    Ich denke, Du hast dich bei dem Übergabeparameter "int wurfel" (also mit u anstelle von ue) verschrieben. Die lokale Variable "int wuerfel" brauchst Du dann aber nicht.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 3. Januar 2017 10:38