Det nextInt() metoden for Java Scanner-klassen bruges til at scanne det næste token af input som en int. Der er to forskellige typer af Java nextInt() metode, som kan differentieres afhængigt af dens parameter. Disse er:
- Java Scanner nextInt() metode
- Java Scanner nextInt(int radix) Metode
nextInt() metode
Denne Java Scanner-klassemetode bruges til at scanne det næste token af input som en int.
nextInt(int radix) Metode
Dette er en indbygget metode i Java Scanner-klassen, som bruges til at scanne det næste token af input som en int i den angivne radix.
Syntaks
Følgende er erklæringen af nextInt() metode:
public boolean nextInt() public boolean nextInt(int radix)
Parameter
Datatype | Parameter | Beskrivelse | Påkrævet/Valgfrit |
---|---|---|---|
int | radix | Det bruges til at fortolke tokenet som en int-værdi. | Påkrævet |
Vender tilbage
Det nextInt() metoden returnerer den scannede int-værdi fra inputtet.
Undtagelser
InputMismatchException - Denne metode afgiver undtagelser, hvis det næste token ikke matcher det regulære heltalsudtryk eller er uden for rækkevidde
IllegalStateException - Det kaster denne undtagelse, hvis påkaldelsen sker, efter at scanneren er blevet lukket.
UlovligArgumentundtagelse - Det kaster denne undtagelse, hvis den angivne radix er uden for rækkevidde.
Kompatibilitetsversion
Java 1.5 og nyere
Eksempel 1
import java.util.*; public class ScannerNextIntExample1 { public static void main(String[] args) { String str = 'Facebook.com 13 + 3.0 = 16 true'; Scanner scanner = new Scanner(str); while (scanner.hasNext()) { //If the next is a int, print found and the int if (scanner.hasNextInt()) { System.out.println('Found Int Value: '+scanner.nextInt()); } //If no int is found, print 'Not Found:' and the token System.out.println('Not Found Int value: '+scanner.next()); } scanner.close(); } }
Produktion:
Not Found Int value: Facebook.com Found Int Value: 13 Not Found Int value: + Not Found Int value: 3.0 Not Found Int value: = Found Int Value: 16 Not Found Int value: true
Eksempel 2
import java.util.*; public class ScannerNextIntExample2 { public static void main(String args[]){ int amount; int balance; //Insert amount and balance from console Scanner input = new Scanner (System.in); System.out.print('Enter the amount: '); amount = input.nextInt(); System.out.print('Enter the Total Balance: '); balance = input.nextInt(); //Reduce amount+fee from balance balance = balance-(amount + 500); //Print new balance System.out.print('New Balance is: '+balance); input.close(); } }
Produktion:
Enter the amount: 800 Enter the Total Balance: 1500 New Balance is: 200
Eksempel 3
import java.util.*; public class ScannerNextIntExample3 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print('Number: '); int number = scan.nextInt(); System.out.print('String: '); String str = scan.next(); System.out.println('Output: '+number + ', ' + str); scan.close(); } }
Produktion:
Number: 12345 String: JavaTpoint Output: 12345, JavaTpoint
Eksempel 4
import java.util.*; public class ScannerNextIntExample4 { public static void main(String[] args) { //Initialize the scanner Scanner scan = new Scanner('55 B3 -25 -7 1D'); while(scan.hasNext()){ //Printing int tokens of base 16 System.out.println(scan.nextInt(16)); } scan.close(); } }
Produktion:
85 179 -37 -7 29
Eksempel 5
import java.util.*; public class ScannerNextIntExample5 { public static void main(String[] args) { String str = ' 11 Java 11 + 11 = 22.0'; Scanner scanner = new Scanner(str); while (scanner.hasNext()) { //If the next is int, print found and the int with radix if (scanner.hasNextInt()) { System.out.println('Found :' + scanner.nextLong(598670)); } //If int is not found, print 'Not Found' and the token System.out.println('Not Found :' + scanner.next()); } scanner.close(); } }
Produktion:
Exception in thread 'main' java.lang.IllegalArgumentException: radix:598670 at java.base/java.util.Scanner.setRadix(Scanner.java:1368) at java.base/java.util.Scanner.nextLong(Scanner.java:2370) at myPackage.ScannerNextIntExample5.main(ScannerNextIntExample5.java:10)