Kun je me stap voor stap een gedetailleerde uitleg geven over wat de bovenstaande code doet? Ik begrijp niet echt hoe het werkt en hoe het gekoppeld is aan mij later deze verklaring te kunnen doen:
int i = input.nextInt()
Antwoord 1, autoriteit 100%
Oké, laten we een vereenvoudigde uitleg geven over de Scanner
klasse.
Het is een standaard Oracle-klasse die u kunt gebruiken door de import java.util.Scanner
aan te roepen.
Dus laten we een eenvoudig voorbeeld van de klas maken:
class Scanner{
InputStream source;
Scanner(InputStream src){
this.source = src;
}
int nextInt(){
int nextInteger;
//Scans the next token of the input as an int from the source.
return nextInteger;
}
}
Als je nu Scanner input = new Scanner(System.in);
aanroept, maak je een nieuw object van de klasse Scanner
(je maakt dus een nieuwe “Scanner” ) en je slaat het op in de variabele input
. Tegelijkertijd roept u de (zogenaamde) constructorvan de klasse, met de parameter System.in
. Dat betekent dat het gaat lezen van de standaard invoerstroom van het programma.
Als je nu input.nextInt();
aanroept, voer je de methode uit van het object dat je zojuist hebt gemaakt (ook gedocumenteerd). Maar zoals we zien, retourneert deze methode een geheel getal, dus als we dat geheel getal willen gebruiken, moeten we de aanroep toewijzen aan een variabele zoals jij:
int i = input.nextInt();
Antwoord 2, autoriteit 46%
Scanner input = new Scanner(System.in);
maakt een nieuweScanner
-instantie die verwijst naar de invoerstroomdoorgegeven als argument. In jouw geval is de stoom Standaard invoerstroom.
Dus, zodra uw scannerinstantie ernaar verwijst, kunt u de stream scannenen integers
, strings
ophalen en andere dingen doen .
Antwoord 3
Scanner input = new Scanner(System.in);
Maakt een nieuw object van het type Scanner
vanaf de standaardinvoer van het programma (in dit geval waarschijnlijk de console)
en
int i = input.nextInt()
gebruikt de nextInt
Methode van dat object, waarmee je wat tekst kunt invoeren en het zal worden geparseerd tot een geheel getal.
Antwoord 4
Scanner s = new Scanner(System.in);
Bovenstaande instructie creëert een object van de klasse Scanner
dat is gedefinieerd in het pakket java.util.scanner
. Met de klasse Scanner
kan de gebruiker invoer van de console ontvangen.
System.in
wordt doorgegeven als parameter in de klasse Scanner
. Het vertelt de Java-compiler dat systeeminvoer wordt geleverd via de console (toetsenbord).