【JavaSE-03scanner用户交互】枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述JavaSE-03scanner用户交互相关的知识,希望能为你提供帮助。
javaSE
三、scanner用户交互
- Demo1:最基本的scanner用法
public static void main(String[] args)
//创建一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
//new Scanner(System.in);
alt+enter
System.out.println("请输入(使用next方式接收):");
//使用next方式接收
String str = scanner.next();
//程序会一直等待用户输入
System.out.println("输入的内容为:"+str);
//最后记得关闭scanner,凡是属于io流的类如果不关闭会一直占用资源,要养成好习惯用完就关闭
scanner.close();
- Demo2:进阶一些用scanner方法nextLine
public static void main(String[] args)
Scanner scanner = new Scanner(System.in);
System.out.println("请输入(使用nextLine方式接收):");
String str = scanner.nextLine();
System.out.println("输入的内容为:"+str);
//用完还是记得关闭
scanner.close();
/*
总结一下:
next和nextLine的区别:next以空白结束符,nextLine以回车为结束符
例如:我打1 2 3,next只会输出1,nextLine就会输出1 2 3
*/
- Demo4:scanner进阶用法:scanner.hasNextInt/scanner.hasNextFloat()
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()==true)i = scanner.nextInt();
System.out.println("整数数据:"+i);
else
System.out.println("你输入的不是整数数据");
System.out.println("请输入小数:");
if(scanner.hasNextFloat()==true)f = scanner.nextFloat();
System.out.println("小数数据:"+f);
else
System.out.println("你输入的不是小数数据");
scanner.close();
/*
总结下:
①new下scanner
②定义下属性
③两个判断:用上scanner.hasNextInt/scanner.hasNextFloat()方法
④if中:接收下,用上scanner.nextInt()/scanner.nextFloat()方法
⑤if...else
⑥关闭
*/
- 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()==true)
double x = scanner.nextDouble();
m = m +1 ;
//或者写m++
sum =sum + x;
//或者写sum+ = x
System.out.println("你输入了第"+m+"个数据,然后当前的结果为"+sum);
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值是"+(sum/m));
scanner.close();
/*总结:
①while循环用起来
②初始定义,然后累计加总
*/
推荐阅读
- Python推导式
- 分布式|redis到底支不支持事务呢()
- 分布式|跟着“乐哉”学习redis系列教程-redis主从同步
- Navicat Premium 16软件安装包和安装教程
- 小白快速入门|flutter-快速预览dart的基本语法(持续更新)
- 入门指南|redis-Sentinel(哨兵机制)你学废了么()
- CS5801HDMI TO eDP/DP转换芯片资料
- 分布式|redis持久化,面试必问!!!
- 路由基础学习笔记之OSPF认证