Huis Persoonlijke financiën Opdracht Regelargumenten in Java - dummies

Opdracht Regelargumenten in Java - dummies

Inhoudsopgave:

Video: #374: Overnachting met Moeder van Giel [OPDRACHT] 2024

Video: #374: Overnachting met Moeder van Giel [OPDRACHT] 2024
Anonim

De meeste Java-programmeurs gebruikten ooit een tekstgebaseerde ontwikkelingsinterface. Ze typten een opdracht in een vlak venster, meestal met witte tekst op een zwarte achtergrond.

Hoe saai!

Het vlakkige venster gaat langs de verschillende namen, afhankelijk van het soort besturingssysteem dat u gebruikt. In Windows is een dergelijk tekstvenster een opdrachtpromptvenster. Op een Macintosh en Linux is dit venster de -aansluiting. Sommige versies van Linux en UNIX noemen dit venster een -shell.

Hoe dan ook, in vroeger tijden kon je een programma schrijven dat extra informatie opzoog wanneer je de opdracht tikte om het programma te starten.

Wanneer u MakeRandomNumsFile start, typt u wat extra informatie.

In de bovenstaande afbeelding typt de programmeur java MakeRandomNumsFile om het MakeRandomNumsFile -programma uit te voeren. Maar de programmeur volgt java MakeRandomNumsFile met twee extra stukjes informatie: MyNumberedFile. txt en 5 . Wanneer het programma MakeRandomNumsFile wordt uitgevoerd, zuigt het programma twee extra stukjes informatie op en gebruikt deze om alles te doen wat het programma moet doen. Het programma zuigt MyNumberedFile op. txt 5 , maar bij een andere gelegenheid kan de programmeur SomeStuff 28 of BunchONumbers 2000 typen. De extra informatie kan verschillen elke keer dat u het programma uitvoert.

De volgende vraag is: "Hoe weet een Java-programma dat het extra informatie moet rondsnuffelen elke keer dat het wordt uitgevoerd? "Sinds je voor het eerst met Java begon te werken, zag je dit String args [] -bedrijf in de kop van elke hoofd -methode. Wel, het wordt hoog tijd dat je erachter komt waar dat allemaal over gaat. De parameter args [] is een array van String -waarden. Deze String -waarden worden opdrachtregelargumenten genoemd.

Sommige programmeurs schrijven

public static void main (String args [] )

en andere programmeurs schrijven

public static void main (String [] args)

Hoe dan ook, args is een array van String -waarden.

Opdrachtregelargumenten gebruiken in een Java-programma

Dit stukje code laat zien hoe u opdrachtregelargumenten gebruikt.

Zo genereert u een bestand met nummers

java importeren. util. Willekeurig;

java importeren. io. PrintStream;

java importeren. io. IOException;

public class MakeRandomNumsFile {

public static void main (String args [] ) gooit IOException {

Willekeurige generator = nieuw Willekeurig ();

if (args.lengte <2) {

Systeem. uit. println ("Usage: MakeRandomNumsFile filename number");

Systeem. exit (1);

}

PrintStream printOut = nieuwe PrintStream (args [0]);

int numLines = Geheel getal. parseInt (args [1]);

voor (int count = 1; count <= numLines; count ++) {

printOut. println (generator. nextInt (10) + 1);

}

afdruk. dichtbij();

}

}

Als een bepaald programma een aantal opdrachtregelargumenten verwacht, kunt u het programma niet op dezelfde manier starten als waarop u de meeste andere normale programma's zou starten. De manier waarop u opdrachtregelargumenten naar een programma toevoert, is afhankelijk van de IDE die u gebruikt: Eclipse, NetBeans of wat dan ook. Allmycode. com heeft instructies voor het invoeren van argumenten in programma's met verschillende IDE's.

Wanneer de code begint te lopen, krijgt de array args de waarden. Met de run die wordt weergegeven in de bovenstaande afbeelding, maakt de array-component args [0] automatisch de waarde "MyNumberedFile. Txt" en args [1] wordt automatisch "5" . De opdrachtinstructies van het programma hebben dus de volgende betekenis:

PrintStream printOut = new PrintStream ("MyNumberedFile. Txt");

int numLines = Geheel getal. parseInt ("5");

Het programma maakt een bestand met de naam MyNumberedFile. txt en stelt numLines tot 5 in. Dus later in de code genereert het programma willekeurig vijf waarden en zet die waarden in MyNumberedFile. txt . Eén run van het programma geeft je dit.

Na het uitvoeren van de code, waar vindt u het nieuwe bestand ( MyNumberedFile. Txt ) op uw harde schijf? Het antwoord hangt van veel verschillende dingen af. Als u een IDE gebruikt met programma's die zijn onderverdeeld in projecten, bevindt het nieuwe bestand zich ergens in de map van het project. Op de een of andere manier kun je listing 11-7 veranderen om een ​​volledige padnaam te specificeren - een naam als "c: \ Users \ MyName \ Documents \ MyNumberedFile. Txt" or "/ Users / MyName / Documents / MyNumberedFile. Txt" .

In Windows bevatten bestandspadnamen backslash-tekens. En in Java, als u een backslash in een double-quoted String letterlijk wilt aangeven, gebruikt u in plaats hiervan een dubbele backslash. Dat is waarom "c: \ Users \ MyName \ Documents \ MyNumberedFile. txt "bevat paren backslashes. Bestandspaden in de Linux- en Macintosh-besturingssystemen bevatten daarentegen snijlijnen. Gebruik een enkele schuine streep om een ​​schuine streep in een Java-reeks aan te geven.

Merk op hoe elk argument in de commandoregel een String -waarde is. Als je naar args [1] kijkt, zie je geen nummer 5 - je ziet de string "5" met een cijfer erin. Helaas kunt u die "5" niet gebruiken om te tellen. Om een ​​ int waarde van "5" te krijgen, moet u de parseInt -methode toepassen.

De parseInt -methode leeft in een klasse met de naam Integer. Dus, om parseInt aan te roepen, geeft u de naam parseInt op met het woord Integer. De Integer -klasse heeft allerlei handige methoden om dingen te doen met int -waarden.

In Java is Integer de naam van een klasse en int is de naam van een primitief (eenvoudig) type. De twee dingen zijn gerelateerd, maar ze zijn niet hetzelfde. De Integer -klasse heeft methoden en andere hulpmiddelen voor het omgaan met int -waarden.

Controleren op het juiste aantal opdrachtregelargumenten

Wat gebeurt er als de gebruiker een fout maakt? Wat als de gebruiker vergeet het nummer 5 te typen op de eerste regel w bij het starten van MakeRandomNumsFile ?

Vervolgens wijst de computer "MyNumberedFile. Txt" toe aan args [0] , maar er wordt niets toegewezen aan args [1] . Dit is slecht. Als de computer ooit de instructie

int numLines = Integer bereikt. parseInt (args [1]);

het programma loopt vast met een onvriendelijke ArrayIndexOutOfBoundsException .

Wat doe je hieraan? U controleert de lengte van de array args . Je vergelijk args. length met 2 . Als de array args minder dan twee componenten bevat, geeft u een bericht op het scherm weer en verlaat u het programma.

De code vertelt u hoe u het moet uitvoeren.

Ondanks de controle van args. lengte is de code nog steeds niet crashbestendig. Als de gebruiker vijf in plaats van 5 typt, neemt het programma een duikvlucht met een NumberFormatException . Het tweede argument van de opdrachtregel kan geen woord zijn. Het argument moet een getal zijn (en een geheel getal). U kunt uitspraken toevoegen om de code kogelvrij te maken.

Wanneer u met opdrachtregelargumenten werkt, kunt u een String -waarde invoeren met een lege ruimte erin. Plaats de waarde gewoon tussen dubbele aanhalingstekens. U kunt bijvoorbeeld de bovenstaande code uitvoeren met argumenten "Mijn groot vetbestand. Txt" 7 .

Opdracht Regelargumenten in Java - 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 ...