Hjem Personlig finansiering Kommandolinjeparametere i Java - dummies

Kommandolinjeparametere i Java - dummies

Innholdsfortegnelse:

Anonim

De fleste Java-programmerere brukte en gang en tekstbasert utviklingsgrensesnitt. De skrev en kommando i et glatt utseende, vanligvis med hvit tekst på en svart bakgrunn.

Hvor kjedelig!

Det glatt utseende vinduet går av de forskjellige navnene, avhengig av hvilket operativsystem du bruker. I Windows er et tekstvindu av denne typen et ledetekstvindu. På en Macintosh og i Linux er dette vinduet -terminalen. Noen versjoner av Linux og UNIX kaller dette vinduet et skall.

Uansett, i gamle tider, kan du skrive et program som suget opp ekstra informasjon når du skrev kommandoen for å starte programmet.

Når du starter MakeRandomNumsFile, skriver du litt ekstra informasjon.

I bildet ovenfor programmerer programmøren java MakeRandomNumsFile for å kjøre programmet MakeRandomNumsFile . Men programmereren følger java MakeRandomNumsFile med to ekstra biter av informasjon: MyNumberedFile. txt og 5 . Når programmet MakeRandomNumsFile kjører, suger programmet to ekstra deler av informasjonen og bruker dem til å gjøre hva programmet må gjøre. Programmet suger opp MyNumberedFile. txt 5 , men ved en annen anledning kan programmereren skrive SomeStuff 28 eller BunchONumbers 2000 . Den ekstra informasjonen kan være forskjellig hver gang du kjører programmet.

Det neste spørsmålet er, "Hvordan kjenner et Java-program at det skal knuse opp ekstra informasjon hver gang den går? "Siden du først begynte å jobbe med Java, har du se denne String args [] virksomheten i toppteksten til hver main -metode. Vel, det er på tide at du fant ut hva det handler om. Parameteren args [] er en rekke Streng -verdier. Disse Streng -verdiene kalles kommandolinjeparametere.

Noen programmerere skriver

offentlig statisk tomgangshoved (String args [] )

og andre programmerere skriver

[] args) Uansett,

args er en rekke Streng -verdier. Bruke kommandolinjeparametere i et Java-program

Denne delen av koden viser hvordan du bruker kommandolinjeparametere.

Slik genererer du en fil med tall

importer java. util. Tilfeldig;

importer java. io. Print;

importer java. io. IOException;

offentlig klasse MakeRandomNumsFile {

offentlig statisk tomt hoved (

String args [] ) kaster IOException { Tilfeldig generator = nytt Tilfeldig ();

hvis (args.lengde <2) {

System. ute. println ("Bruk: MakeRandomNumsFile filnavnnummer");

System. exit (1);

}

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

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

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

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

}

utskrift. Lukk();

}

}

Hvis et bestemt program forventer noen kommandolinje argumenter, kan du ikke starte programmet på samme måte som du vil starte de fleste andre normale programmer. Måten du legger på kommandolinjeparametere til et program, avhenger av IDE du bruker - Eclipse, NetBeans, eller hva som helst. Allmycode. com har instruksjoner for å mate argumenter til programmer ved hjelp av ulike IDEer.

Når koden begynner å kjøre, får

args -gruppen sine verdier. Med kjøringen som vises i bildet over, tar arraykomponenten args [0] automatisk verdien "MyNumberedFile.txt" og args [1] blir automatisk "5" . Så har programoppgaveoppgavene følgende betydning: PrintStream printOut = new PrintStream ("MyNumberedFile. Txt");

int numLines = helhet. parseInt ("5");

Programmet oppretter en fil med navnet

MyNumberedFile. txt og setter tallene til 5 . Så senere i koden, genererer programmet tilfeldig fem verdier og setter disse verdiene i MyNumberedFile. txt . En runde av programmet gir deg dette. Når du har kjørt koden, hvor finner du den nye filen (

MyNumberedFile.txt ) på harddisken din? Svaret avhenger av mange forskjellige ting. Hvis du bruker en IDE med programmer delt inn i prosjekter, så er den nye filen et sted i prosjektets mappe. På en eller annen måte kan du endre Listing 11-7 for å angi et fullt stinavn - et navn som "c: \ Brukere \ MyName \ Documents \ MyNumberedFile.txt" eller "/ Brukere / MyName / Documents / MyNumberedFile. Txt" . I Windows inneholder filbanenavn tilbakestrekstegn. Og i Java, når du vil indikere en tilbakeslag i en dobbelkvitert Strings bokstavlig, bruker du en dobbel tilbakeslag i stedet. Det er derfor "c: \ Brukere \ MyName \ Documents \ MyNumberedFile. txt "inneholder par av tilbakeslag. I kontrast inneholder filbaner i Linux- og Macintosh-operativsystemene fremoverstreker. Hvis du vil indikere et fremoverstrekk i en Java-streng, bruker du bare en fremoverstreke.

Legg merke til hvordan hvert kommandolinjeprøving er en verdi på

Streng . Når du ser på args [1] , ser du ikke tallet 5 - du ser strengen "5" med et siffertegn i den. Dessverre kan du ikke bruke det "5" for å gjøre noen teller. For å få en int verdi fra "5" må du bruke metoden parseInt . Metoden

parseInt lever i en klasse med navnet Integer. Så for å ringe parseInt forordrer du navnet parseInt med ordet Integer. Klassen Integer har alle slags praktiske metoder for å gjøre ting med int verdier. I Java er Integer navnet på en klasse, og int er navnet på en primitiv (enkel) type. De to tingene er relaterte, men de er ikke det samme. Klassen

Integer har metoder og andre verktøy for å håndtere int verdier. Kontroller for riktig antall kommandolinjeparamenter

Hva skjer hvis brukeren gjør en feil? Hva om brukeren glemmer å skrive inn tallet

5 på den første linjen w henna du starter MakeRandomNumsFile ? Da tilordner datamaskinen

"MyNumberedFile.txt" til args [0] , men tilordner ikke noe til args [1] . Dette er dårlig. Hvis datamaskinen noensinne når setningen int numLines = Integer. parseInt (args [1]);

programmet krasjer med en unfriendly

ArrayIndexOutOfBoundsException . Hva gjør du med dette? Du kontrollerer lengden på

args -armen. Du sammenligner args. Lengden til 2 . Hvis args array har færre enn to komponenter, viser du en melding på skjermen og går ut av programmet. Koden forteller deg hvordan du kjører den.

Til tross for kontroll av

args. lengde , er koden fortsatt ikke krasjbestandig. Hvis brukeren skriver fem i stedet for 5, tar programmet en nosedive med en NumberFormatException . Det andre kommandolinjeparametret kan ikke være et ord. Argumentet må være et tall (og et helt tall, ved det). Du kan legge til uttalelser for å gjøre koden mer bulletproof. Når du arbeider med kommandolinjeparametre, kan du angi en

Streng -verdi med et tomt mellomrom i det. Bare legg inn verdien i dobbeltkvitemerker. For eksempel kan du kjøre koden ovenfor med argumenter "My Big Fat File. Txt" 7 .

Kommandolinjeparametere i Java - dummies

Redaktørens valg

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Nesten alle operasjoner i HTML5 lerret funksjonen implementerer en fylle eller stroke stil. For å få mest mulig ut av lerretet, må du forstå hvordan de fungerer. De tre primære typene stiler du kan bruke på fyll og slag er farger, gradienter og mønstre. Bruke farger med HTML5 lerret-merket For å spesifisere en ...

Ved hjelp av HTML for å kode websidene dine - dummies

Ved hjelp av HTML for å kode websidene dine - dummies

HTML lar deg legge til beskrivende koder på web sidetekst, for å endre utseendet, eller opprette lister, tabeller, koblinger og så videre. HTML er designet for å være noe som mennesker kan lese og at maskiner kan behandle, en form for felles grunnlag for menneskelig kommunikasjon. Anta at du vil legge til fet skrift til et ord ...

Redaktørens valg

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Kanskje den enkleste oppføringen Metoden er å skrive en formel direkte i en celle i et Excel-regneark. Skriv bare formler som ikke inneholder noen funksjoner, og trykk Enter-tasten for å fullføre oppføringen. Prøv dette enkle eksempelet: Klikk på en celle der formelen skal skrives inn. Skriv inn denne enkle matematikkbaserte formelen: = 6 + (9/5) ...

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

I Excel 2016, kan data som faller inn i kategorien "seriell" - månedens navn, ukedag og sammenhengende tall og datoer, for eksempel - skrives inn raskt med kommandoen AutoFill. Tro det eller ei, Excel gjenkjenner visse typer seriell data og går inn i den for deg som en del av AutoFill-funksjonen. ...

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvis du er ikke kjent med hvordan en funksjon fungerer i Excel - kanskje du ikke engang er sikker på hvilken funksjon du vil bruke - du må bruke Formulas-fanens Innsett Funksjon-kommando for å finne funksjonen og deretter identifisere argumentene riktig. Hvis du vil bruke kommandoen Funksjonsveiviser på denne måten, følg ...

Redaktørens valg

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

Den samaritanske kvinnen ved brønnen er ingen engel. Blandet opp med en feil folkemengde, denne stakkars kvinnen fra Samaria har et godt rykte. Hun hadde vært gift fem ganger og bodde i synd med en mann som ikke var hennes ektemann. Gjennom hennes historie kommer leksjonen at folk ikke burde leve av kjønnslig glede. ...

Gjenoppleve den bibelske julehistorien - dummies

Gjenoppleve den bibelske julehistorien - dummies

I stedet for bare å vises på jorden en dag eller "stråle ned" bruk Trek-talk), sier Jesus at han har kommet inn i denne verden på de mest ortodokse måtene: fødsel. Jesu utseende på jorden er kjent som inkarnasjonen, eller hva Johannes-evangeliet kaller Jesus "blir kjøtt. "Interessant nok, skjønner John ikke hendelsene ...