Java的Scanner类的next与nextLine用法区别

next(); 从控制台获取字符串,如果字符串中包含空格,只会获取第一个作为接收的字符串。比如:输入hello I am a chinese!,接收到的只是hello。

nextLine();从控制台获取字符串,字符串中可以包含空格,以回车符作为接收结束标志。比如:输入hello I am a chinese!,接收到的是hello I am a chinese!。

如何让next();方法也可以向类似nextLine()一样接收包括空格的字符串呢?

Scanner类中有hasNext()方法,注意,这个方法是一个阻塞方法,表示每次从控制台读取一个字符串。为了保证能够结束输入,可以指定一个结束输入的字符串,比如"quit"表示输入结束。实现代码如下:

String s;

while(!sc.hasNext("quit"))

{

s = sc.next();

System.out.println(s);

}

这样,next();就有了和nextLine()类似的功能,同时输入"quit"字符串保证输入状态结束。

时间: 2024-10-08 12:16:15

Java的Scanner类的next与nextLine用法区别的相关文章

【Java】Scanner类nextInt后使用nextLine无法读取输入

首先,我们先介绍一下,在学习Java语言,对于字符串的输入,由于Scanner.next()函数无法输入空格及回车,此时,我们就必须要用Scanner.nextLine()解决这类问题, 在使用过程中,我们会发现nextInt()和nextLine连用,出现这个问题: 在输入一个int数据之后,就会输出,而字符串完全没有输入...... 然后去网上查了一些资料,看了一些论坛,了解了一些其中的原理,整理一下. 首先,Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫描并读入数据的

java.util.Scanner类的基本使用

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scanner scanner = new Scanner(System.in); 接下来我们演示一个最简单的字符串输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串: //创建Scanner对象 Scanner scanner = new Scanner(System.in); System

java中scanner类的用法

在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分.于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法.这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析.借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器.

Java sanner类中next和nextLine的区别

next() 与 nextLine() 区别 next(): 1.一定要读取到有效字符后才可以结束输入. 2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉. 3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符. next() 不能得到带有空格的字符串. nextLine(): 1.以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符. 2.可以获得空白. 示例代码: import java.util.Scanner; public 

关于java的scanner类

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 首先使用Scanner类时候需要导包: scanner类的基本语法: Scanner类有很多种方法 .next(); .nextLine();  .nextInt(); .nextFloat(); etc... 不同的方法接受的变量类型也不同: .next() 和 .nextLine() 需要使用String类型变量接收: .nextInt() 需要int类型变量接收: .nextF

Java中Scanner类的使用

一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 System.in 中读取一个数: public class ApiScanner { public static void main(String[] args) { //创建对象接收键盘录入的数据 Scanner sc = new Scanner(System.in);//创建一个scanner类的对象 //录入数据 System.out.print("请输入你的名字:"); String input =

java之Scanner类

1.Scanner类概述 Scanner类概述:JDK5以后用于获取用户的额键盘输入 构造方法:public Scanner(InputStream source) 2.Scanner类的成员方法 基本格式: hasNextXxx()判断是否还有下一个输入项,其实Xxx可以是Int,Double等.如果需要判断是否包含下一个字符串,则可以省略Xxx. nextXxx()获取下一个输入项.Xxx的含义和上一个方法中的Xxx相同. 默认情况下,Scanner使用空格,回车等作为分隔符 常用方法: p

Java API ——Scanner类

1.Scanner类概述 JDK5以后用于获取用户的键盘输入,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器.Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配.然后可以使用不同的 next 方法将得到的标记转换为不同类型的值. 2.现在使用的构造方法 public Scanner(InputStream source) 3.Scanner类的成员方法 1)基本格式 hasNextXxx()  判断是否还有下一个输入项,其中Xxx可以是Int,Dou

Java用Scanner类获取用户输入

用Java编写程序时,有些数据需要用户输入,这个时候需要调用java提供的Scanner类,这个类在包java.util下,比如求一个矩形的面积,简单的看一下用法: 1 import java.util.Scanner; 2 public class Javashuru { 3 //Java获取用户输入,使用Scanner类,位于java.util包中 4 public static void main(String[] args){ 5 //创建Scanner对象 6 Scanner inpu