Heute möchten wir Ihnen einen Code zum Generieren von "Lottozahlen 6 aus 49" vorstellen. Beim Erzeugen der Zufallszahlen muss sich die Zahl immer zwischen 1 und 49 befinden. Weiterhin darf eine bereits ermittelte Zahl nicht doppelt "gezogen" werden. Damit keine Zahlen doppelt vorkommen, werden die bereits gezogenen Zahlen in einer sortierten Liste (SortedList-Klasse) gespeichert. Dies hat den Vorteil, dass die Zahlen für die spätere Ausgabe am Bildschirm autom. sortiert ausgegeben werden. Die SortedList-Klasse hat aber noch einen weiteren wesentlichen Vorteil gegenüber bspw. der "normalen" ArrayList-Klasse. Über die "ContainsValue"-Eigenschaft kann abgefragt werden, ob ein bestimmtes Objekt bereits in der Liste vorhanden ist, ohne dass man die Liste von vorne bis hinten durchlaufen und jedes Element einzeln prüfen muss. ' Sicherstellen, daß bei jedem Start wirklich ' eine neue Zufallszahlen-Folge generiert wird Randomize() ' Zufallszahlen-Klasse und ArrayList zum ' Zwischenspeichern erstellen Dim oZahl As New System.Random Dim oList As New SortedList Dim Zahl As Integer Dim i As Integer ' Insgesamt 6 Zufallszahlen ermitteln For i = 1 To 6 Do ' Zufallszahl im Bereich 1 bis 49 Zahl = oZahl.Next(1, 50) ' Prüfen, ob Zufallszahl bereits gezogen If Not oList.ContainsValue(Zahl) Then ' Falls nicht, jetzt als "gezogen" merken, ' indem die Zahl der Liste hinzugefügt wird oList.Add(Zahl, Zahl) Exit Do End If Loop Next i ' Lottozahlen anzeigen Dim sMsg As New System.Text.StringBuilder Dim oValues As IList = oList.GetValueList sMsg.Append("Die Lottozahlen lauten: ") For i = 0 To oValues.Count - 1 sMsg.Append(" " & oValues(i)) Next MsgBox(sMsg.ToString) Erläuterungen zur Zufallszahlen-Ermittlung Dieser Tipp wurde bereits 26.627 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats sevOutBar 4.0 ![]() Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |