Scanner对象
Scanner对象
通过Scanner类来获取用户的输入。
使用需导入 java.util.Scanner 包。
基本语法:
Scanner s = new Scanner(System.in);
next()
package Scanner;
import java.util.Scanner;//导入包
public class Demon1 {
public static void main(String[] args) {
//变量类型 变量名 创建一个扫描器对象↓
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收");
//判断语句 判断是否有输入↓
if(scanner.hasNext()){
//当↑为真,则有输入,使用scanner.next()赋值给str
String str = scanner.next();
System.out.println("输入内容为:"+ str);
//输出用户输入值
}
scanner.close();//关闭scanner
}
}
读取到有效字符后才可以结束输入
对有效字符前的空白,会自动删除
只有输入有效字符后才能将后面输入的空白作为分隔或结束符
next()不能得到带有空格的字符串。
nextLine()
package Scanner;
import java.util.Scanner;
public class Demon2 {
public static void main(String[] args) {
//变量类型 变量名 创建一个扫描器对象↓
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收");
//判断语句 判断是否有输入↓
if(scanner.hasNextLine()){
//当↑为真,则有输入,使用scanner.next()赋值给str
String str = scanner.nextLine();
System.out.println("输入内容为:"+ str);
//输出用户输入值
}
scanner.close();//关闭scanner
}
}
以Enter为结束符,即返回回车之前的所有字符(包括空格)
nextLine()可以获得空格
故平时多使用nextLine()
上面两个程序,删除if判断语句依然能够使用。程序会在
String str = scanner.nextLine();
等待用户输入。
Scanner scanner = new Scanner(System.in);//创建scanner
String str = scanner.nextLine();//获得输入值
scanner.close();//关闭scanner
以上三步可以说是固定形式
Scanner的进阶用法
nextInt() nextFloat() .....
package Scanner;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import java.sql.SQLOutput;
import java.util.Scanner;
public class Demon3 {
public static void main(String[] args) {
int i =0;
float f = 0.0f;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数");
if(scanner.hasNextInt())//判断是否有整数输入
{
i = scanner.nextInt();
System.out.println("你输入的数字为:"+ i);
}
else {
System.out.println("你tm输入的不是整数");
}
scanner.close();
}
}
判断是否为小数同理。
求平均值的程序
在用户输入非数字后计算出平均值。
import java.sql.SQLOutput;
import java.util.Scanner;
public class Demon4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x =0;//数字个数
double sum = 0.0;//数字和
double u = 0.0;//新输入数字
System.out.println("请输入数字");
while (scanner.hasNextDouble()){
System.out.println("请继续输入数字...");
u = scanner.nextDouble();//获得输入数字
sum = sum + u;//计算合
x++; //统计输入了几个数字
}
System.out.println(x+"个数的总和为:"+sum);
System.out.println(x+"个数的平均值为:"+(sum/x));
scanner.close();
}
}
Scanner对象的更多相关文章
- Java基础之一组有用的类——使用Scanner对象(TryScanner)
控制台程序. java.util.Scanner类定义的对象使用正则表达式来扫描来自各种源的字符输入,并把输入显示为各种基本类型的一系列标记或者显示为字符串. 默认情况下,Scanner对象读取标记时 ...
- Scanner对象及其获取数据出现小问题和解决方案
Scanner类简介: Java 5添加了java.util.Scanner类,我们可以通过Scanner类来获取用户输入.它是以前的StringTokenizer和Matcher类之间的某种结合.由 ...
- Day004 Scanner对象
Scanner对象 作用 我们可以通过Scanner类来获取用户的输入 所属包 java.util.Scanner java 工具类下 基本语法 Scannner s=new Scanner( ...
- Day5 Scanner对象学习.
Scanner对象 Java.until.Scanner 我们可以通过Scanner类来获取用户的输入. 基本语法: Scanner s = new Scanner (System . in) ; 通 ...
- Java基础之(七):Scanner对象
用户交互Scanner Scanner对象 调用java.util.Scanner 可以通过Scanner类来获取用户的输入 基本语法: Scanner scanner = new Scanner(S ...
- scanner对象,顺序及选择结构
scanner对象 基本语法: Scanner s = new Scanner(System.in) 使用next()和nextLine()读取前,使用hasNext()和hasNextLine()来 ...
- Java常用API(Scanner,Random)匿名对象
API:即Application programming Interface,应用编程接口. Java中封装了许许多多的API供用户使用,Scanner与Random便是其中之一,API实际就是类,已 ...
- java 中的Scanner
java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...
- BufferedReader与Scanner的区别
在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...
随机推荐
- (转载)跟Classic ARM 处理器说拜拜——Atmel SAMA5D3 Xplained开发板评测
2014 年 4 月 10 日 时间: 下午 3:15 作者: 幸得安然 电子产业的蓬勃发展带来了史无前例的生活.生产大跃进,但是,人们在享受发展喜悦的同时又不得不面临现实现状的囧境--在以移动电子设 ...
- Dubbo部分知识点总结
Dubbo部分 Dubbo工作原理 dubbo工作原理第一层:service层,接口层,给服务提供者和消费者来实现的第二层:config层,配置层,主要是对dubbo进行各种配置的第三层:proxy层 ...
- 记录一次源码扩展案列——FastJson自定义反序列化ValueMutator
背景:曾经遇到一个很麻烦的事情,就是一个json串中有很多占位符,需要替换成特定文案.如果将json转换成对象后,在一个一个属性去转换的话就出出现很多冗余代码,不美观也不是很实用. 而且也不能提前在j ...
- selenium元素定位学习笔记
一,定位原则 稳定 简单灵活 唯一 WebDriver提供了两种方式来定位页面元素,分别是find_element_by_XXX和find_elements_by_XXX.第一种方式的结果是在正常情况 ...
- 【C语言教程】双向链表学习总结和C语言代码实现!值得学习~
双向链表 定义 我们一开始学习的链表中各节点中都只包含一个指针(游标),且都统一指向直接后继节点,通常称这类链表为单向链表. 虽然使用单向链表能 100% 解决逻辑关系为 "一对一" ...
- Docker Stack 笔记
Docker Compose (Docker Stack) image: Specify the image to start the container from. Can either be a ...
- maven项目导入eclipse报错
错误提示: 原因:未安装maven,缺少ojdbc6.jar包 解决: 一.安装maven 第一步百度搜索Maven官网,进去之后,下载apache-maven-3.5.3-bin.zip,下载完成之 ...
- DateDiff() 方法语法 T-SQL语法
表达式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]]) 允许数据类型: timeinterval 表示 ...
- java内存模型深入理解
作为一个java程序员 jvm 虚拟机应该是最先接触的了,但是当初由于理解能力有限一直没搞明白是怎么回事,而是将他理解为运行java程序的环境,不过这也没错.但是随着工作时间的增加开始思考jvm里面工 ...
- Helium文档10-WebUI自动化-Text识别网页上的任何文本或标签
前言 Text关键字的作用是识别网页上的文字,在一般UI查找中使用率非常高,但是需要注意,如果网页上有相同的文字,那么只能识别到第一个 入参介绍 以下是Text的源码 有5个如参:后面4个参数是上下左 ...