U kunt nestingscode schrijven met Java's if-statements. Heb je die schattige Russische Matryoshka-nestpoppen gezien? Open een en een andere is erin. Open de tweede en een derde is erin. Het is zoiets. (Praat over plezier!) Deze aanbieding laat zien hoe.
statische java importeren. Lang. Systeem. uit; java importeren. util. Scanner; public class Authenticator2 {public static void main (String args []) {Scanner-toetsenbord = nieuwe scanner (systeem. in); uit. print ("Gebruikersnaam:"); String gebruikersnaam = toetsenbord. next (); if (gebruikersnaam. gelijk aan ("bburd")) {uit. print ("Wachtwoord:"); String wachtwoord = toetsenbord. next (); if (wachtwoord, gelijk aan ("zwaardvis")) {uit. println ("You're in.");} else {out. println ("Incorrect password");}} else {out. println ("Onbekende gebruiker");} toetsenbord. close ();}}
Als u slaagt voor de eerste test (de gebruikerstest), loopt u rechtstreeks naar een andere if-opdracht die een tweede test uitvoert (de wachtwoordtest). Als u de eerste test niet haalt, haalt u nooit de tweede test. Deze figuur toont het algemene plan.
De code in de lijst doet het goed met geneste if-opdrachten, maar het doet vreselijk werk met echte gebruikersauthenticatie. Ten eerste: toon nooit een wachtwoord in duidelijke weergave (zonder asterisken om het wachtwoord te maskeren). Ten tweede, behandel geen wachtwoorden zonder ze te versleutelen. Ten derde, vertel de kwaadwillende gebruiker niet welke van de twee woorden (de gebruikersnaam of het wachtwoord) verkeerd was ingevoerd.