Wat betekent Scannerinvoer = nieuwe Scanner(System.in) eigenlijk?

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 Scannerklasse.

Het is een standaard Oracle-klasse die u kunt gebruiken door de import java.util.Scanneraan 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, stringsophalen en andere dingen doen .


Antwoord 3

Scanner input = new Scanner(System.in);

Maakt een nieuw object van het type Scannervanaf de standaardinvoer van het programma (in dit geval waarschijnlijk de console)
en

int i = input.nextInt()

gebruikt de nextIntMethode 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 Scannerdat is gedefinieerd in het pakket java.util.scanner. Met de klasse Scannerkan de gebruiker invoer van de console ontvangen.

System.inwordt doorgegeven als parameter in de klasse Scanner. Het vertelt de Java-compiler dat systeeminvoer wordt geleverd via de console (toetsenbord).

Other episodes