day14-Scanner
Scanner对象
之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。Java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要用 hasNext()与 hasNextLine()判断是否还有输入的数据。
next():
一定要读到有效字符后才可以结束输入。
对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next()不能得到带有空格的字符串。
package com.dlq.Scanner;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
if(scanner.hasNext()){
//使用next方式接收
String str= scanner.next();
System.out.println("输出的内容为:"+str);//hello
}
//凡是属于I/O(输入/输出)流的类如果不关闭会一直占用资源,要养成 用完就关 的好习惯!!!
scanner.close();
}
}
nextLine():
以enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
可以获得空白。
package com.dlq.Scanner;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner=new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
//判断是否还有输入
if (scanner.hasNextLine()){
String str=scanner.nextLine();
System.out.println("输出的内容为:"+str);//hello world
}
scanner.close();
}
}
package com.dlq.Scanner;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner=new Scanner(System.in);//输入
//System.out.println("请输入数据:");
String str=scanner.nextLine();//保存
System.out.println("输出的内容为:"+str);//hello world 输出
scanner.close();//关闭
}
}
next...():学以致用!!!
package com.dlq.Scanner;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
//键盘接收数据
int i=0;
float f=0.0f;
System.out.println("请输入整数:");
if (scanner.hasNextInt()){
i=scanner.nextInt();
System.out.println("整数数据:"+i);
}
else{
System.out.println("非整数数据!");
}
System.out.println("请输入小数:");
if (scanner.hasNextFloat()){
f=scanner.nextFloat();
System.out.println("小数数据:"+f);
}
else{
System.out.println("非小数数据!");
}
scanner.close();
}
}
package com.dlq.Scanner;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
//输入多个数字,求他们的总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
Scanner scanner = new Scanner(System.in);
//和
double sum=0;
//计算输入了多少个数字
int m=0;
System.out.println("请输入数据:");
//通过循环判断是否还有输入,并在循环里对每一次输入进行求和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m=m+1;//m++
sum=sum+x;
System.out.println("你输入了"+m+"个数据,当前结果sum="+sum);
}
System.out.println(m+"个数字和为:"+sum+"\n"+m+"平均数为:"+sum/m);
scanner.close();
}
}
day14-Scanner的更多相关文章
- Java输入输出常用类Scanner
Scaner类,使用获取键盘输入. public boolean DemoTest(){ Scanner input = new Scanner(System.in); System.out.prin ...
- Scanner类
Scanner类:用于获取用户的键盘输入 成员方法: public boolean hasNextXxx():判断是否某种类型的元素 public Xxx nextXxx():获取该元素 常用方法: ...
- java中scanner类的用法
在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...
- c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
- java 中的Scanner
java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...
- Golang 逐行读写之scanner.Scan
Go语言实现逐行读的方法多种,本文只介绍Scaner的方法,也是go推荐的方法. 官方文档 例子: file, err := os.Open("filename") if err ...
- BufferedReader与Scanner的区别
在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...
- 简单利用Scanner对文件进行解析
public class AvPrice{ static int count = 0; static int sum = 0; public static void main(Str ...
- java利用Scanner获取键盘输入
首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...
- 输入scanner,if-else
import java.util.Scanner; public class Job{ public static void main(String[] args){ Scanner scanner ...
随机推荐
- 【SpringBoot】05 探索配置方式 Part1 指定和导入配置的注解
@PropertySource & @ImportResource @ConfigurationProperties默认从全局配置文件中读取 我们可以拆解出来分成单独的配置文件 [提取Bean ...
- 使用X11进行屏幕转播是否有价值? 最好用的远控软件是什么?
由于有多个主机在使用,而且物理位置不在一起,所以以前往往要使用VNC软件来进行远程连接,但是其延迟比较高,使用感受不是很好,而且由于我所使用的多个主机均是Ubuntu系统,于是想到了是否可以使用X11 ...
- 备忘 : 使用VS2022后,发现C盘空间越来越少怎么办?
背景 自从安装完VS2022后,感觉C盘容量肉眼可见的降低.之前2019并没有产生如此严重的情况.后面查看发现,Designer/Cache缓存的数据很大(截图是已经删除过的) 解决方案 在平台的反馈 ...
- python学习之---迭代器与生成器
什么是迭代器 可迭代对象: 可以通过for循环来实现遍历,例如list.string.dict 迭代器: 不仅可以使用for循环,还可以使用next()方法.__iter__() next():获取容 ...
- 部署CPU与GPU通用的tensorflow:Anaconda环境
本文介绍在Anaconda环境中,下载并配置Python中机器学习.深度学习常用的新版tensorflow库的方法. 在之前的两篇文章Python TensorFlow深度学习回归代码:DNN ...
- 解决input自动填充账号密码时的背景色
input:-webkit-autofill { box-shadow:0 0 0 1000px white inset !important; } input:-internal-autofil ...
- 从0实现基于Linux socket聊天室-实现聊天室的登录、注册功能-3
上一篇我们已经讲了如何搭建一个多线程的服务器模型,可以支持多个客户端同时连接服务器,本篇我们来实现多个客户端,如何实现向服务器注册信息,并实现登录的功能. 数据结构 接着上一篇的实例代码继续增加功能. ...
- CentOs7.3 配置基本信息查看
1.基本信息查看(命令行) [root@localhost home]# CPU个数: [root@localhost home]# grep 'physical id' /proc/cpuinfo ...
- 运行 Java 程序
Java 程序实际上就是我们编译好的 Java 类文件.运行 Java 程序就是运行 Java 类的 main 函数. 编译并运行 Java 文件 源文件: package com.example; ...
- VMware Workstation虚拟机 + 许可证密钥
VMware Workstation虚拟机 + 许可证密钥 VMware Workstation是什么? VMware简介 VMware 安装 VMware系统要求 VMware 版本下载地址 许可证 ...