Scanner类的使用

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

扫描二维码关注公众号,回复: 587904 查看本文章

键盘输入的内容是: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两个方法读取文件内容。

猜你喜欢

转载自cakin24.iteye.com/blog/2321526