用户交互Scanner的用法
Java用户交互的目的是实现程序与人的交互;一般通过Scanner来获取用户的输入;java.util.Scanner 是Java5的新特征。
基本语法:
Scanner s=new Scanner(System.in);
我们可以通过Scanner类的next()与nextLine()方法获取用户输入的数据,而在获取之前可以通过hasNext()与hasNextLine判断是否有输入的数据。
代码1:
Scanner scanner =new Scanner(System.in); //创建一个扫描器对象,用于接收键盘数据
System.out.println("请输入数据:");
if(scanner.hasNext()){ //判断用户有没有输入字符串
String str=scanner.next(); //使用next()方法接收
System.out.println(str); //运行程序时,如果我们输入Hello World! 结果会是Hello
}
scanner.close(); //属于IO流的类, 如果不关闭会一直占用资源,所以用完要关闭
代码2:
Scanner scanner =new Scanner(System.in); //创建一个扫描器对象,用于接收键盘数据
System.out.println("请输入数据:");
if(Scanner.hasNextLine()){ //判断用户有没有输入字符串
String str=scanner.nextLine(); //使用nextLine()方法接收
Syste.out.println(str); ////运行程序时,如果我们输入Hello World! 结果会是Hello World!
}
scanner.close(); //属于IO流的类, 如果不关闭会一直占用资源,所以用完要关闭
由代码的输出结果就可知道next()与nextLine()的输出结果是有很大区别的
总结:
next():
1、一定要读取到有效字符后才可以结束输入。即程序运行时一定要输入有效字符才行
2、对输入有效字符之前遇到的空白,会自动忽略
3、当检测到有效字符时,才会把其后面输入的空白作为分离符或者结束符。
4、next()不能得到带有空格的字符串,即输入hello world 得到的只有hello。
nextLine():
1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符,所以能输出hello world!
2、可以获得空白
结论:next()方法比较局限,nextLine()用途比较广一些。
Scanner拓展:
上面的是判断用户是否输入字符串,那小数和整数呢?
小数:hasNextFloat() nextFloat()
整数:hasNextInt() nextInt()
问键盘输入几个数,且这些数的和是:
代码:
Scanner scanner=new Scanner(System,in);
int m=0;
double sum=0;
while(scanner.hasNextDouble()){
double x=scanner.nextDouble();
m=m+1; //多少个
sum+=x; //它们的和
}
scanner.close();
用户交互Scanner的用法的更多相关文章
- 1.用户交互Scanner
Java流程控制 一:用户交互Scanner Scanner对象: 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.uti ...
- 用户交互Scanner
用户交互Scanner java.util.Scanner Scanner类可以获取用户的输入. Java 5 通过Scanner类的next()和nextLine()方法获取输入的字符串 在读取前我 ...
- 第4天 JavaDoc生成文档&Java流程控制(第一节:用户交互Scanner)
JavaDoc生成文档 javadoc命令是用来生成自己的API文档 参数信息: @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @ ...
- Java流程控制01——用户交互Scanner
用户交互Scanner sacnner对象 之前的语法并没有实现程序与人的交互.java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入. 基本语法: S ...
- Java基础系列(15)- 用户交互Scanner
Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.util.Scanner是Java5的新特征.我们可以 ...
- Java流程控制01:用户交互Scanner
Scanner对象 之前我们学习的基本语法并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.Scanner 是java5 的新特征,我们可以通过Sca ...
- Java流程控制:用户交互Scanner
java.util.Scanner工具类获取用户输入语法:Scanner scanner = new Scanner(System.in);通过Scanner类的next()与nextLine()方法 ...
- Scanner用户交互
Scanner用户交互 Scanner对象 引入语法: Scanner scanner=new Scanner(System.in);(固定的) 小写scanner为定义的名称 scanner.clo ...
- 用户数据交互 Scanner
# 用户交互 Scanner ``` java package study5ran2yl.study; import java.util.Scanner; public class demo09 { ...
随机推荐
- JAVA SE学习路径
- (五)Amazon Lightsail 部署LAMP应用程序之迁移到Amazon RDS实例
迁移到您的Amazon RDS实例 在某些时候,您的应用程序需求可能需要在 Amazon Lightsail中找不到的功能.幸运的是,将应用程序的一个或所有部分移动到其他AWS服务中非常简单 您将数据 ...
- Jmeter Question 之“集成Ant+Jenkins自动化”
首先介绍一下Ant.Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. 是的.还是Apache家 ...
- 【LOJ2838】「JOISC 2018 Day 3」比太郎的聚会(设阈值预处理/分块)
点此看题面 大致题意: 给你一张\(DAG\),多组询问,每次问你在起点不为某些点的前提下,到达给定终点的最大距离是多少. 设阈值 由于限制点数总和与\(n\)同阶,因此容易想到去设阈值. 对于限制点 ...
- Linux添加组播
sudo route add -net 224.1.1.0 netmask 255.255.255.0 dev ens33
- 在Ubuntu18.04.2LTS上遇到的问题汇总
在Ubuntu18.04.2LTS上遇到的问题汇总 一.前言 在新版的Ubuntu上在桌面右键没有新建文档的按钮着实让人难以接受,其实只要稍微理解就能明白设计者的良苦用心,因为这样便于扩展性和自定 ...
- CocoaPods 升级1.8.4的坑 CDN: trunk Repo update failed
之前升级了cocoaPods 版本1.8.4,今天pod install,然后问题就来了: 1.出现了下边的问题: Adding spec repo `trunk` with CDN `https:/ ...
- LeetCode 328:奇偶链表 Odd Even Linked List
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1), ...
- eclipse 下载、安装、创建java文件工程、运行---Windows 10
一.Eclipse Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插 ...
- Kafka 2.3 Producer (0.9以后版本适用)
kafka0.9版本以后用java重新编写了producer,废除了原来scala编写的版本. 这里直接使用最新2.3版本,0.9以后的版本都适用. 注意引用的包为:org.apache.kafka. ...