Java之Scanner中next()同nextLine()有什么不同呢?
下文讲述Scanner类中next()方法同nextLine()方法的不同之处,如下所示:
首先我们从next()方法和nextLine()方法的读取字符的方式着手分析:
首先我们从next()方法和nextLine()方法的读取字符的方式着手分析:
next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
next() 无法获取有空格的字符串
nextLine()
- 使用Enter为结束符,即nextLine()方法中获取的字符串信息是回车前的所有字符
- nextLine()方法可获取空白信息
nextLine() 获取int float数据注意事项, 首先使用hasNextInt()或hasNextFloat()检测以下, 然后再使用nextInt()或nextFloat()获取相应的数据例:
package com.java265;
import java.util.Scanner;
public class javaScannerTest {
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()) {
//检测输入的是否为int类型
i = scan.nextInt();
// 接收整数
System.out.println("整数数据:" + i);
} else {
// 输入错误的信息
System.out.println("输入的不是整数!");
}
System.out.print("输入小数:");
if (scan.hasNextFloat()) {
//检测输入的是否为float类型
f = scan.nextFloat();
// 接收小数
System.out.println("小数数据:" + f);
} else {
// 输入错误的信息
System.out.println("输入的不是小数!");
}
scan.close();
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


