Java中关于Scanner的常用方法
package sun.test;
import java.util.Scanner;
-
next():
-
1、一定要读取到有效字符后才可以结束输入。
-
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
-
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
-
next() 不能得到带有空格的字符串。
-
nextLine():
-
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
-
2、可以获得空白。
*/
public class ScannerMethods {public static void main(String[] args) {
//scannerNext(); //scannerNextLine(); scannerHasNextIntTest(); //scannerSumAndAve();
}
/**
-
next 方式:
-
sout su
-
输入的数据为: sout
*/
public static void scannerNext(){
Scanner input = new Scanner(System.in);// 从键盘接受数据
System.out.println(“next 方式:”);
// 判断是否还有输入
if (input.hasNext()){
String string = input.next();
System.out.println("输入的next: " + string);
}
input.close();
}
/**
-
nextLine 方式:
-
sout su
-
输入的nextline: sout su
*/
public static void scannerNextLine(){
Scanner scanner = new Scanner(System.in);System.out.println(“nextLine 方式:”);
if (scanner.hasNextLine()){
String string = scanner.nextLine();
System.out.println("输入的nextline: " + string);
}
}
/**
-
如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,
-
但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取:
*/
public static void scannerHasNextIntTest(){
int num = 0;
float floatNum = 0;Scanner scanner = new Scanner(System.in);
System.out.println("Please input a int: ");
if (scanner.hasNextInt()){
num = scanner.nextInt();
System.out.println("num = " + num);
}else {
System.out.println(“Inout error!”);
}
System.out.println(“Please input a float”);
if (scanner.hasNextFloat()){
floatNum = scanner.nextFloat();
System.out.println("floatNum = " + floatNum);
}else {
System.out.println(“Inout error!”);
}
}
public static void scannerSumAndAve(){
int count = 0;
double sum = 0;
Scanner scanner = new Scanner(System.in);System.out.println("Please input the number: "); while (scanner.hasNextDouble()){ count++; sum = sum + scanner.nextDouble(); } System.out.println("sum = " + sum); System.out.println("count = " + count); System.out.println("(sum/count) = " + (sum/count));
}
} -