java中Scanner类有什么作用

如题所述

Scanner的作用是通过分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。

例如,以下代码使用户能够从 System.in 中读取一个数:

Scanner sc = new Scanner(System.in);

int i = sc.nextInt();

再看一个例子,以下代码使 long 类型可以通过 myNumbers 文件中的项分配:

Scanner sc = new Scanner(new File("myNumbers"));

while (sc.hasNextLong()) {

long aLong = sc.nextLong();

}

扩展资料

Scanner类的基本用法:

Scanner是Java 1.5新增的类,可以使用该类创建一个默认指向键盘的对象。

Scanner reader=new Scanner(System.in);

然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型: nextByte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShort() 。

上述方法执行时都会造成堵塞,等待用户在命令行输入数据后回车确认。例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。nextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。

参考资料来源:百度百科:Scanner

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-07
首先,Scanner就相当于人的耳朵,一段程序就相当于一个人
所以,每段程序只能有一个接收器(Scanner)
其次,PrintStream,可以用于向控制台输出运行时数据
实质上,java的API在内部实现控制台输出就是用的PrintStream(System.*)来做的,而这个Scanner则是可以接受控制台的输入数据,供正在运行程序使用,有点像c里面的scanf
最后,一个例子
import java.util.Scanner;

public class TestScanner {

/**
* 测试
* @param args
*/
public static void main(String[] args) {
//构造Scanner对象的引用
Scanner scan = new Scanner(System.in);
System.out.println("请在控制台输入一个数字:");
//输入数字之后按下回车
int i = scan.nextInt();
//显示刚刚输入的数字
System.out.println("您刚刚输入的数字是:" + i);
}
}
第2个回答  推荐于2017-09-01
  1、Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.
Scanner reader=new Scanner(System.in);  
  2、reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.
  3、例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。
第3个回答  推荐于2017-09-15
新的类:Scanner
Scanner是一个新的操作类,是在java.util包中提供的一个操作类,使用此类可以方便的完成输入流的输入操作。
package org.lxh.scannerdemo;
import java.util.Scanner;
public class ScannerDemo01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in) ;
int i = 0 ;
if(scan.hasNextInt()){
i = scan.nextInt() ;
}
System.out.println("i = " + i) ;
}
}
例如,下面再看一个可以接收字符串的例子
package org.lxh.scannerdemo;
import java.util.Scanner;
public class ScannerDemo02 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in) ;
String str = null ;
if(scan.hasNext()){
str = scan.next() ;
}
System.out.println("str = " + str) ;
}
}
使用此类也可以进行正则匹配,例如:输入日期格式
package org.lxh.scannerdemo;
import java.util.Scanner;
public class ScannerDemo03 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in) ;
String str = null ;
if(scan.hasNext("\\d{4}-\\d{2}-\\d{2}")){
str = scan.next() ;
}
System.out.println("str = " + str) ;
}
}
但是,此类因为接收的是输入流的操作类,所以也可以使用此类完成文件内容的读取。
package org.lxh.scannerdemo;
import java.io.File;
import java.io.FileInputStream;
import java.util.Scanner;
public class ScannerDemo04 {
public static void main(String[] args) throws Exception {
File file = new File("C:" + File.separator + "demo.txt") ;
Scanner scan = new Scanner(new FileInputStream(file)) ;
StringBuffer buf = new StringBuffer() ;
scan.useDelimiter("\n") ;
while(scan.hasNext()){
buf.append(scan.next()).append("\n") ;
}
System.out.println("buf = " + buf) ;
}
}
需要设置读取的分隔符。本回答被提问者采纳
第4个回答  2012-05-19
输入汉字和数字

java中scanner是什么意思?
Scanner是Java中的一个类,用于读取用户的输入。它可以从标准输入流中以不同的方式读取数据,如读取字符串,整数,小数等。Scanner还可以设置不同的分隔符,并提供多种方法处理输入数据,如nextLine()、nextInt()、nextDouble()等。使用Scanner可以轻松读取键盘输入或其他输入源的数据,是Java中常用的输入流...

java scanner是什么意思?
Java Scanner类的主要功能是从标准输入读取基本类型值和字符串。Scanner类可以将数据从一个输入流中读取到程序中并解析数据。Java Scanner类是一种非常简单且常用的工具,可以帮助Java程序员更轻松地读取用户输入的数据,也可以从文件中读取数据。Java Scanner类非常适合用于从用户输入中读取数据。Java Scanner...

java中scanner的用法?
Java中的Scanner类主要用于获取用户的输入。它是一个功能强大的工具,能够帮助程序员轻松地接收来自用户的数据输入。以下是关于如何使用Scanner的基本指南:一、创建Scanner对象 首先,需要在程序中导入java.util.Scanner类,然后创建一个Scanner对象。创建对象时,通常将System.in作为参数传递给Scanner的构造函数...

java中scanner.close是什么意思
1. 在Java中,`Scanner`类用于从文本输入流中解析输入。2. 使用完毕后,关闭`Scanner`对象是良好的编程习惯。3. 关闭`Scanner`可以释放与之关联的资源,例如内存和输入流。4. 类似于使用水龙头时用完就关,以避免资源浪费,关闭`Scanner`可以防止不必要的资源占用。5. 如果应用程序未关闭的`Scanner`...

java语言中的scanner是什么意思用来干嘛
scanner是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意...

java中的scanner怎么使用?
Scanner类是JDK5.0后提供的一个基于正则表达式的文本扫描器,位于java.util包,用于方便地获取用户的键盘输入。构造方法用于接收不同的数据来源,如文件、输入流、字符串等。Scanner类提供了两个主要方法,`hasNextXxx()`和`nextXxx()`,其中Xxx代表基本数据类型的字符串。`hasNextXxx()`用于判断是否还有...

java中next是什么意思?
java中next是什么意思?在Java中,Scanner类是一个可以扫描输入流并将其分解为基本数据类型或文本行的对象。对于文本输入,Scanner类定义了一个名为 "next"的方法。该方法读取下一个以空格分隔的标记并返回其结果。该方法的返回值的数据类型与输入标记的类型有关。如果输入是字符串,则返回值...

java中Scanner类有什么作用
Scanner的作用是通过分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。例如,以下代码使用户能够从 System.in 中读取一个数:Scanner sc = new Scanner(System.in);int i = sc.nextInt();再看一个例子,以下代码使 ...

Java编程:Scanner键盘录入
Java编程中,Scanner类用于获取用户输入。操作步骤如下:首先,导入java.util包中的Scanner类。其次,创建Scanner对象,用于获取用户输入值。此对象能从不同输入源获取输入,如键盘、文件等。接着,调用Scanner对象的next()、nextLine()、nextInt()等方法获取不同类型的输入值。例如,nextInt()用于获取整数...

java Scanner是用于扫描输入什么的类库吗?
Scanner是用于扫描输入文本的类名,input仅仅是对象名,你可以换成任意的非java保留着,如a、b、c都行,new是给对象new(开辟)一个空间存储扫描进来的东西,System.in 是PrintStream(字节打印流)的一个实例 ,只能按字节读取。Scanner -是java类库的一个基础类,一个可以使用正则表达式来解析基本类型和...

相似回答