Mit diesem Beispielcode können Sie sehen, wofür Arrays verwendet werden können, und eine Schleife in Aktion anzeigen.

Angenommen, Sie möchten, dass der Benutzer einen Satz eingibt, und dann möchten Sie ihn wissen lassen, wie oft er jeden Buchstaben des Alphabets verwendet hat. Wenn der Benutzer Folgendes eingibt:

Ich habe meine Katze gegessen.

Sie würden eine Seite zurückgeben, auf der steht:

a: 2
c: 1
e: 1
i: 1
m: 1
t: 2
y: 1

OK, Schritt eins. Sie möchten 26 verschiedene Elemente zählen, eines für jeden Buchstaben des Alphabets. Das schreit fast aus Array. Beginnen Sie also mit einem

Dim LetterCount (26)
für CurrLtr = 1 bis 26
LetterCount (CurrLtr) = 0
Nächster

Das ist ein gutes Beispiel für eine for-next-Schleife. OK, soweit so gut. Sie haben 26 Punkte bei Null und warten darauf, mit dem Zählen zu beginnen. Arbeiten Sie sich nun durch den Satz, um zu sehen, was darin enthalten ist. Angenommen, Sie nennen diesen Satz CurrText.

Zunächst möchten Sie jeden Buchstaben im Satz überprüfen. Ich mache das mit einer Do-While-Schleife, damit Sie sehen können, wie das funktioniert. Sie würden also beginnen mit:

SenLen = len (CurrText)
CurrCtr = 1
tun, während CurrCtr <= SenLen
CurrLtr = left (CurrText, 1)

Sie haben den nächsten Brief in Ordnung. Jetzt ist natürlich jedem Buchstaben ein ASCII-Wert zugeordnet. Diese reichen von 65 für A bis 90 für Z. Fall spielt eine Rolle. Als nächstes setzen Sie den Buchstaben in Großbuchstaben, um sicherzustellen, dass er zwischen 65 und 90 liegt, und subtrahieren 64, sodass A = 1 und Z = 26 sind.

CurrLtr = ucase (CurrLtr)
CurrLtrA = asc (CurrLtr)
CurrLtrA = CurrLtrA - 64

Jetzt haben Sie eine Zahl von 1 bis 26, die angibt, um welchen Buchstaben es sich handelt. Der nächste Schritt ist natürlich einfach. Sie erhöhen nur diesen Eimer! Wenn Sie möchten, können Sie sicherstellen, dass Sie alle Nicht-Buchstaben ignorieren, wenn Sie befürchten, dass sie in den Stream gelangen.

wenn CurrLtrA> 0 und CurrLtrA <65 dann
LetterCount (CurrLtrA) = LetterCount (CurrLTrA) + 1
ende wenn

Und jetzt, am Ende der Schleife, werden Sie den Buchstaben los, an dem Sie gerade gearbeitet haben, sodass der erste Buchstabe im Satz der nächste in der Reihenfolge ist, wenn Sie in der Schleife herumgehen.

CurrText = Rechts (CurrText, len (CurrText) - 1)
CurrCtr = CurrCtr + 1
Schleife

Jetzt ist Ihr Array voll von Zahlen zwischen 0 und was auch immer, wobei jede angibt, wie oft dieser Buchstabe gefunden wurde. Sie können sie beliebig anzeigen. Wenn Sie eine Schleife und die CHR-Funktion verwenden möchten, die den Buchstaben mit einem bestimmten ASCII-Code anzeigt, können Sie Folgendes tun:

für CurrLtr = 1 bis 26
response.write "Der Brief"
CurrAscii = CurrLtr + 64
CurrLtrA = chr (CurrAscii)
response.write CurrLtrA & "wurde gefunden"
response.write LetterCount (CurrLtr) & "times.
"
Nächster

Schauen Sie unbedingt in unseren Foren vorbei oder schreiben Sie, wenn Sie Fragen haben!

Einführung in ASP Ebook

Laden Sie dieses eBook herunter, um alles zu erfahren, was Sie über das Erlernen von ASP wissen müssen - von einem schrittweisen Tutorial über Funktionslisten, Beispielcode, häufige Fehler und Lösungen bis hin zu vielem mehr! 101 Seiten.

Video-Anleitungen: 01.12 - C Grundlagen - Übung 3: Zählen von Buchstaben (Kann 2024).