Huis Persoonlijke financiën Java Programmeren: een lijn lezen - dummies

Java Programmeren: een lijn lezen - dummies

Video: Linux Tutorial for Beginners: Introduction to Linux Operating System 2024

Video: Linux Tutorial for Beginners: Introduction to Linux Operating System 2024
Anonim

In deze Java-codelijst, de methode payOneEmployee illustreert enkele handige trucs voor het lezen van gegevens. In het bijzonder heeft elke scanner die u maakt een NextLine-methode. (Mogelijk gebruikt u deze nextLine-methode niet, maar de methode is niettemin beschikbaar.)

Wanneer u de nextLine-methode van een scanner aanroept, grijpt de methode alles tot het einde van de huidige regel tekst. In deze lijst kan een oproep naar nextLine een hele regel van de EmployeeInfo lezen. txt-bestand. (In een ander programma kan de nextLine-oproep van een scanner alles lezen wat de gebruiker op het toetsenbord typt, totdat de Enter-toets wordt ingedrukt.)

java importeren. util. Scanner; java importeren. io. Het dossier; java importeren. io. IOException; public class DoPayroll {public static void main (String args []) gooit IOException {Scanner diskScanner = nieuwe scanner (nieuw bestand ("EmployeeInfo. txt")); for (int empNum = 1; empNum <= 3; empNum ++) {payOneEmployee (diskScanner);} diskScanner. close ();} static void payOneEmployee (Scanner aScanner) {Employee anEmployee = new Employee (); een werknemer. setName (aScanner. nextLine ()); een werknemer. setJobTitle (aScanner. nextLine ()); een werknemer. cutCheck (aScanner. nextDouble ()); aScanner. nextLine ();}}

Let op de zorgvuldige woordkeuze: nextLine leest alles tot het einde van de huidige regel. Helaas is wat het betekent om tot het einde van de huidige regel te lezen niet altijd wat u denkt dat het betekent. Het mengen van nextInt, nextDouble en nextLine-oproepen kan rommelig zijn. Je moet kijken wat je doet en de output van je programma zorgvuldig controleren.

Om dit alles te begrijpen, moet je je pijnlijk bewust zijn van de regeleinden van een databestand. Denk aan een regeleinde als extra personage, vastzittend tussen de ene regel tekst en de volgende. Stel je dan voor dat het bellen van nextline betekent dat je alles leest tot en met de volgende regeleinde.

Bekijk dit figuur nu eens.

  • Als een oproep naar nextLine Barry Burd [LineBreak] leest, leest de volgende oproep naar nextLine CEO [LineBreak].

  • Als een aanroep naar nextDouble het nummer 5000. 00 leest, leest de volgende aanroep naar nextLine de [LineBreak] die direct na het nummer 5000 komt. 00. (Dat zijn alle NextLine-waarden - een [LineBreak] en niets meer.)

  • Als een aanroep naar NextLine de [LineBreak] leest na het nummer 5000. 00, leest de volgende oproep naar nextLine Harriet Ritter [LineBreak].

Dus na het lezen van het nummer 5000. 00, hebt u twee oproepen naar nextLine nodig om de naam Harriet Ritter op te halen. De fout die u meestal maakt, is dat u de eerste van die twee oproepen vergeet.

Kijk nogmaals naar het bestand in de afbeelding. Om de code van deze sectie correct te laten werken, moet je na de laatste 10000 een regeleinde hebben. 00. Als je dit niet doet, zorgt een laatste oproep naar nextLine ervoor dat je programma crasht en brandt. Het foutbericht luidt NoSuchElementException: Geen lijn gevonden.

U zult verrast zijn door het aantal eigenaardigheden die u in de scanmethoden van elke programmeertaal aantreft. Bijvoorbeeld, de eerste nextLine die leest uit het bestand in de figuur verslindt Barry Burd [LineBreak] uit het bestand.

Maar die nextLine-aanroep levert Barry Burd (zonder regelafbreking) op de lopende code. Dus nextline zoekt naar een regeleinde en vervolgens verliest nextline de regeleinde. Ja, dit is een subtiel punt. En nee, dit subtiele punt veroorzaakt bijna nooit problemen voor iemand.

Als dit bedrijf over nextDouble en nextLine u in verwarring brengt, leg dan de schuld niet aan Java. Het mengen van input-oproepen is delicaat werk in elke computer programmeertaal. En het vervelende is dat elke programmeertaal het probleem een ​​beetje anders benadert.

Wat u te weten komt over nextLine in Java, helpt u de problemen te begrijpen wanneer u C ++ of Visual Basic leert kennen, maar het vertelt u niet alle details. De details van elke taal zijn uniek voor die taal.

Java Programmeren: een lijn lezen - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...