博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java scanner类成员_【Java】 Scanner类的几个方法
阅读量:5732 次
发布时间:2019-06-18

本文共 1946 字,大约阅读时间需要 6 分钟。

通过 Scanner 类可以获取用户的输入,创建 Scanner 对象的基本语法如下:

Scanner sc = new Scanner(System.in);

nextInt()、next()和nextLine()

nextInt(): it only reads the int value, nextInt() places the cursor(光标) in the same line after reading the input.(nextInt()只读取数值,剩下”\n”还没有读取,并将cursor放在本行中)

next():read the input only till the space. It can’t read two words separated by space. Also, next() places the cursor in the same line after reading the input.(next()只读空格之前的数据,并且cursor指向本行)

next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。

nextLine(): reads input including space between the words (that is, it reads till the end of line \n). Once the input is read, nextLine() positions the cursor in the next line.

nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。

public class NextTest{

public static void main(String[] args) {

String s1,s2;

Scanner sc=new Scanner(System.in);

System.out.print("请输入第一个字符串:");

s1=sc.nextLine();

System.out.print("请输入第二个字符串:");

s2=sc.next();

System.out.println("输入的字符串是:"+s1+" "+s2);

}

}

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

请输入第一个字符串:abc

请输入第二个字符串:def

输入的字符串是:abc def

View Code

//s1、s2交换

public class NextTest {

public static void main(String[] args) {

String s1,s2;

Scanner sc=new Scanner(System.in);

System.out.print("请输入第一个字符串:");

s1=sc.next();

System.out.print("请输入第二个字符串:");

s2=sc.nextLine();

System.out.println("输入的字符串是:"+s1+" "+s2);

}

}

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

请输入第一个字符串:abc

请输入第二个字符串:输入的字符串是:abc

View Code

nextLine()自动读取了被next()去掉的Enter作为他的结束符,所以没办法给s2从键盘输入值。

如double nextDouble() , float nextFloat() , int nextInt() 等与nextLine()连用时都存在这个问题,解决的办法是:在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。

public class NextTest{

public static void main(String[] args) {

String s1,s2;

Scanner sc=new Scanner(System.in);

System.out.print("请输入第一个字符串:");

s1=sc.next();

sc.nextLine();

System.out.print("请输入第二个字符串:");

s2=sc.nextLine();

System.out.println("输入的字符串是:"+s1+" "+s2);

}

}

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

请输入第一个字符串:abc

请输入第二个字符串:def

输入的字符串是:abc def

View Code

转载地址:http://txowx.baihongyu.com/

你可能感兴趣的文章
shell实例100例《五》
查看>>
lvm讲解,磁盘故障小案例
查看>>
24.5 saltstack远程执行命令
查看>>
配置IP
查看>>
大快网站:如何选择正确的hadoop版本
查看>>
经过这5大阶段,你离Java程序员就不远了!
查看>>
Nginx配置文件相关操作
查看>>
IntelliJ IDEA 连接数据库详细过程
查看>>
thymeleaf 学习笔记-基础篇
查看>>
分享话题列表
查看>>
PHP-X开发扩展
查看>>
android学习笔记——onSaveInstanceState的使用
查看>>
Windows Server 2003下cwRsyncServer服务端与cwRsync客户端数据
查看>>
iOS 打包上传没有用到日历,但是提示需要在info.plist文件中加入NSCalendarsUsageDescription...
查看>>
工作中如何做好技术积累
查看>>
怎么用sysLinux做U盘双PE+DOS??
查看>>
jqgrid中实现前台界面显示字符长度固定,后面用省略号代替
查看>>
Screen简单使用
查看>>
Fabric安装
查看>>
微服务:spring-cloud-archaius 起步
查看>>