用户交互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 { ...
随机推荐
- 2019 蓝桥杯国赛 B 组模拟赛 题解
标签 ok #include<bits/stdc++.h> using namespace std; /* 求阶乘 去除尾部0 每次求阶乘时:结果去除尾0,并对 1e6取余 */ type ...
- httpd虚拟主机起不来!!
前几天在公司,练习负载均衡配置.在配置虚拟主机的web服务(apache) ,创建好虚拟主机的配置文件 ss -tnl 查看监控端口80已起来,通过本地浏览器访问一直显示默认的欢迎页... 一个下午 ...
- luoguP4151 [WC2011]最大XOR和路径
题意 这题有点神啊. 首先考虑注意这句话: 路径可以重复经过某些点或边,当一条边在路径中出现了多次时,其权值在计算 XOR 和时也要被计算相应多的次数 也就是说如果出现下面的情况: 我们可以通过异或上 ...
- mybatis中<include>标签的作用
MyBatis中sql标签定义SQL片段,include标签引用,可以复用SQL片段 sql标签中id属性对应include标签中的refid属性.通过include标签将sql片段和原sql片段进行 ...
- Note | 论文写作笔记
目录 1. 规范 2. 语法 3. 其他 4. 好图好表 5. 好表达 我们的工作很重要 我们的工作有意义 我们的工作细节 我们怎么组织这篇文章 最终效果出类拔萃 怎么解释我们的成功 写完逐条核对吧. ...
- 详解Redis基本命令
当redis环境搭建结束后,接下来需要掌握并了解redis的一些相关命令,本篇文章主要从实际操作的层面来与大家分享redis基本命令, 具体包括:Redis五大基本类型命令(Strings,Lists ...
- 数据分析常用的Excel函数
Excel是我们工作中经常使用的一种工具,对于数据分析来说,这也是处理数据最基础的工具. 本文对数据分析需要用到的函数做了分类,并且有详细的例子说明,文章已做了书签处理,点击可跳转至相应位置. 函数分 ...
- java程序 cpu占用过高分析
linux终端下用 top命令看到cpu占用超过100%.之所以超过100%.说明cpu是多核.默认top显示的是cpu加起来的使用率,运行top后按大键盘1看看,可以显示每个cpu的使用率,top里 ...
- golang实战--家庭收支记账软件(面向对象)
首先是具体的目录结构: 其中myAccount.go中调用utils包中的函数:utils.go实现记账软件的一些相应的功能: myAccount.go package main import ( & ...
- sierpinski地毯(II)
今天又是因为可以用py而高兴的一天. 继续咱的sierpinski地毯计划. 二,随机算法 在二十年前,磁盘容量以MB还是KB计的时候,分形解决计图的问题确实有很大的优势.存至多十来个数就好了.我要在 ...