JavaSE-03scanner用户交互
Posted :Concerto
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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循环用起来
②初始定义,然后累计加总
*/
以上是关于JavaSE-03scanner用户交互的主要内容,如果未能解决你的问题,请参考以下文章