Java中Scanner用法实例解析

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java中Scanner用法实例解析

普通网友   2022-11-10 我要评论

一、Scanner类简介

Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。

简介

Scanner类是java.util包中的一个类

作用

常用于控制台的输入,当需要使用控制台输入时即可调用这个类

二、Scanner类的用法

使用方法

1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联

Scanner sc=new Scanner(System.in);

2、调用Scanner类对象sc的方法从输入流中获取你需要的输入

说明:

当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可

三、常用方法

1、nextInt()只读取数值,读取完后 没有读取并且光标放在本行

Scanner sc=new Scanner(System.in);
int i=sc.nextInt();

每次可以只输入一个数字,回车确认,例如:“123”,只能被一个nextInt读取。

也可以输入一组数字,例如:“123 456 789”,每个数字之间用空格(一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。(注:输入数字中不能夹杂除数字、空格、回车之外的其他字符,否则会报错)

2、nextDouble()的用法同理nextInt(),注意:nextInt无法读取小数,否则会报错。

同理nextByte()nextFloat(),nextLong(),nextShot(),当某个方法读取的数字超过自身范围,则会报错。

3、next()方法遇到第一个扫描有效字符,即第一个非空格非换行符后面开始,一直获取到下一个空格,换行符之前的,单个字符串。

4、nextLine()可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车)并作为一个字符串而被获取到。

此处重点讲一下next()和nextLine()的区别

next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)

nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。

代码演示:

public class Text {
	public static void main(String []args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个字符串(中间能加空格或符号)");
		String a = input.nextLine();
		System.out.println("请输入一个字符串(中间不能加空格或符号)");
		String b = input.next();
		System.out.println("请输入一个整数");
		int c;
		c = input.nextInt();
		System.out.println("请输入一个double类型的小数");
		double d = input.nextDouble();
		System.out.println("请输入一个float类型的小数");
		float f = input.nextFloat();
		System.out.println("按顺序输出abcdf的值:");
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(f);
	}
}

运行结果:

请输入一个字符串(中间能加空格或符号)
我爱祖国!
请输入一个字符串(中间不能加空格或符号)
ILoveChina
请输入一个整数
520
请输入一个double类型的小数
12.26e3
请输入一个float类型的小数
3.1415926
按顺序输出abcdf的值:
我爱祖国!
ILoveChina
520
12260.0
3.1415925

总结

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们