C# Zähler erhöht sich nicht

AirForce

Lt. Junior Grade
Registriert
Okt. 2010
Beiträge
296
Schreibe ein Programm das eine Zufallszahl von 1 bis 7 errechnet. Habe es in eine schleife gepackt damit es 100 mal eine Zahl generiert werden soll. Ich will nur die Nummer 6 ausgeben und zählen wie viel mal die Nummer 6 vorkommt. Habe auch einen Zähler gemacht doch dieser erhöht sich nicht.

Code:
 class Program
    {
        static void Main(string[] args)
        {
            for(int i = 0; i < 100; i++)
            {
                Random rwd = new Random();
                int a = rwd.Next(1, 7);
                if (a == 6)
                {
                    int counter = 1;
                    Console.WriteLine("{0} : {1}" , counter, a);
                    counter++;
     
                }
            }
            Console.WriteLine("Exit");
            Console.ReadLine();
        }
    }
 
counter ist eine lokale Variable in deiner Schleife/dem If (bin mir gerade nicht sicher, wie c# das handhabt), d.h. nach dem Ende der Schleife wird sie definitiv gelöscht. zieh die Deklaration vor die Schleife und es wird gehen ;)
 
Zuletzt bearbeitet:
if ... then
{
counter = 1
counter = counter+1
}
ist sowieso nicht unbedingt die beste Idee um einen Zähler hochzuzählen :D
 
Hallo,

einfacher - und auch mehr an mögliche Erweiterungen gedacht - fände ich die Verwendung eines Arrays mit sechs Werten. Hier muss dann auch in der for-Schleife kein if verwendet werden, da einfach immer die Zahl an der Stelle des geworfenen Ergebnisses erhöht wird.

Beachten muss man hier die Grenzen des Arrays bei Ein- und Ausgabe, da Zahlen von 1-6 möglich sind, aber nur Indizes von 0-5.
 
Zurück
Oben