Scanner类的使用

来源:互联网 发布:淘宝专业版免费模板 编辑:程序博客网 时间:2024/06/05 14:50

Scanner类说明

 

使用Scanner类可以很方面地获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值。Scanner类提供了多个构造器,不同的构造器可接受文件、输入流、字符串作为数据源,用于从文件、输入流、字符串中解析数据。

Scanner类的常用方法

  • hasNextXXX():是否还有下一个输入项,其中XXX可以是Int、Long等代表基本数据类型的字符串。如果需要判断是否包含下一个字符串,则可以省略XXX。
  • nextXXX():获取下一个输入项。XXX的含义与前一个方法中XXX相同。

代码示例1

 

import java.util.Scanner;public class ScannerKeyBoardTest {/** * @param args */public static void main(String[] args) {// System.in代表标准输入,就是键盘输入Scanner sc = new Scanner(System.in);// 增加下面一行将只把回车作为分隔符// sc.useDelimiter("\n");// 判断是否还有下一个输入项while(sc.hasNext()){// 输出输入项System.out.println("键盘输入的内容是:"+ sc.next());}}}

 运行结果1

 

hello

键盘输入的内容是:hello

welcome

键盘输入的内容是:welcome

go

 

键盘输入的内容是:go

运行结果2

当去掉sc.useDelimiter("\n");的注释,运行结果如下:

line 1

键盘输入的内容是:line 1

 

line 2

键盘输入的内容是:line 2

 

line 3

键盘输入的内容是:line 3

 

代码示例2

import java.util.Scanner;public class ScannerLongTest {/** * @param args */public static void main(String[] args) {// System.in代表标准输入,就是键盘输入Scanner sc = new Scanner(System.in);// 判断是否还有下一个long型整数while(sc.hasNextLong()){// 输出输入项System.out.println("键盘输入的内容是:"+ sc.nextLong());}}}

 运行结果

12

键盘输入的内容是:12

34

键盘输入的内容是:34

56

 

键盘输入的内容是:56

代码说明

Scanner可以获取任何基本类型的输入项目。

 

代码示例3

import java.io.File;import java.util.Scanner;public class ScannerFileTest {public static void main(String[] args) throws Exception {// 将一个File对象作为Scanner的构造器参数,Scanner读取文件内容Scanner sc = new Scanner(new File("ScannerFileTest.java"));System.out.println("ScannerFileTest.java文件内容如下:");// 判断是否还有下一行while(sc.hasNextLine()){// 输出文件中的下一行System.out.println(sc.nextLine());}}}

 运行结果

F:\java\workspace\first\bin>java ScannerFileTest

ScannerFileTest.java文件内容如下:

import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

 

 

public class ScannerFileTest {

 

 

        public static void main(String[] args) throws FileNotFoundException {

                // 将一个File对象作为Scanner的构造器参数,Scanner读取文件内容

                Scanner sc = new Scanner(new File("ScannerFileTest.java"));

                System.out.println("ScannerFileTest.java文件内容如下:");

                // 判断是否还有下一行

                while(sc.hasNextLine())

                {

                        // 输出文件中的下一行

                        System.out.println(sc.nextLine());

                }

 

        }

 

}

代码说明

此代码创建Scanner对象时传入一个File对象作为参数,这表明该程序会读取ScannerFileTest.java文件中的内容。此代码使用了hasNextLine和nextline两个方法读取文件内容。

0 0
原创粉丝点击