Java Scanner
java.util.Scanner Java5 Scanner
Scanner
Scanner s = new Scanner(System.in);
Scanner next() nextLine() hasNext hasNextLine
next
ScannerDemo.java
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//
// next
System.out.println("next");
//
if (scan.hasNext()) {
String str1 = scan.next();
System.out.println("" + str1);
}
scan.close();
}
}
$ javac ScannerDemo.java $ java ScannerDemo next runoob com runoob
com nextLine
nextLine
ScannerDemo.java
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//
// nextLine
System.out.println("nextLine");
//
if (scan.hasNextLine()) {
String str2 = scan.nextLine();
System.out.println("" + str2);
}
scan.close();
}
}
$ javac ScannerDemo.java $ java ScannerDemo nextLine runoob com runoob com
com
next() nextLine()
next():
- 1
- 2next()
- 3
- next()
nextLine()
- 1Enter, nextLine()
- 2
int float Scanner hasNextXxx() nextXxx()
ScannerDemo.java
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//
int i = 0;
float f = 0.0f;
System.out.print("");
if (scan.hasNextInt()) {
//
i = scan.nextInt();
//
System.out.println("" + i);
} else {
//
System.out.println("");
}
System.out.print("");
if (scan.hasNextFloat()) {
//
f = scan.nextFloat();
//
System.out.println("" + f);
} else {
//
System.out.println("");
}
scan.close();
}
}
$ javac ScannerDemo.java $ java ScannerDemo 12 12 1.2 1.2
ScannerDemo.java
import java.util.Scanner;
class RunoobTest {
public static void main(String[] args) {
System.out.println("");
Scanner scan = new Scanner(System.in);
double sum = 0;
int m = 0;
while (scan.hasNextDouble()) {
double x = scan.nextDouble();
m = m + 1;
sum = sum + x;
}
System.out.println(m + "" + sum);
System.out.println(m + "" + (sum / m));
scan.close();
}
}
$ javac ScannerDemo.java $ java ScannerDemo 12 23 15 21.4 end 471.4 417.85
Scanner(File source) |
Scanner |
Scanner(InputStream source) |
Scanner |
Scanner(String source) |
Scanner |
boolean hasNext() |
|
String next() |
|
boolean hasNextLine() |
|
String nextLine() |
|
boolean hasNextInt() |
|
boolean hasNextDouble() |
|
boolean hasNextBoolean() |
|
int nextInt() |
|
double nextDouble() |
|
boolean nextBoolean() |
|
long nextLong() |
|
float nextFloat() |
|
short nextShort() |
|
byte nextByte() |
|
Scanner useDelimiter(String pattern) |
|
Scanner useDelimiter(Pattern pattern) |
|
String delimiter() |
|
void close() |
|
Scanner skip(Pattern pattern) |
|
Scanner skip(String pattern) |
|
String findInLine(Pattern pattern) |
|
String findInLine(String pattern) |
|
Scanner reset() |
|
Locale locale() |
|
Scanner useLocale(Locale locale) |
|
API https://www.runoob.com/manual/jdk11api/java.base/java/util/Scanner.html
Mrodot
mro***@qq.com
ScannerJava SE 6Console
Console cons = System.console(); String username = cons.readline("User name: "); char[] passwd = cons.readPassword("Password: ");ConsoleScanner
Mrodot
mro***@qq.com
Seeker98
115***[email protected]
StringTokenizerStringTokenizer
import java.util.Scanner; import java.util.StringTokenizer; class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println(""); StringTokenizer stringTokenizer=new StringTokenizer(scanner.nextLine()); System.out.println(""); while(stringTokenizer.hasMoreTokens()){ System.out.println(stringTokenizer.nextToken()); } } }Seeker98
115***[email protected]
jie
132***[email protected]
Scanner Scanner test.txt
test.txt
Fileio.java
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Fileio { public static void main(String[] args) throws FileNotFoundException { int[] arr=new int[10]; int i=0; Scanner sc=new Scanner(new File("test.txt")); while(sc.hasNextInt()) { arr[i]=sc.nextInt(); i++; } sc.close(); System.out.printf(" %d \n",i); for(int j=0;j<i;j++) { System.out.println(arr[j]); } } }jie
132***[email protected]
zzhjava
hj0***[email protected]
else hasNextFloat
Scanner scan = new Scanner(System.in); // int i = 0; float f = 0.0f; System.out.print(""); if (scan.hasNextInt()) { // i = scan.nextInt(); // System.out.println("" + i); } else { scan.nextLine(); // // System.out.println(""); }zzhjava
hj0***[email protected]
yan***[email protected]
ConsoleIntelliJ
javac XX.java , java XX
https://coderanch.com/t/626329/java/readLine-method-System-Console-throwing
yan***[email protected]