Scanner对象

jdk5新特性(java.util.Scanner),可以用个scanner获取用户的输入。

// 创建一个扫描器对象,用于接收键盘输入
Scanner scn = new Scanner(System.in);
System.out.println("输入:");   // 输入hello world
// next()和nextLine()获取输入的字符串
// 使用之前使用hasNext()与hasNextLine()判断是否还有输入的数据
if(scn.hasNext()){
    System.out.println("输入的内容为:"+scn.next());// hello 
}
//nextLine() 判断是否还有输入
if(scn.hasNextLine()){
    System.out.println("输入的内容为:"+scn.nextLine());//hello world
}
// 属于io流的类如果不关闭会一直占用资源,需要手动关闭
scn.close();
/*
* hello world
* next()和nextLine()的区别
* ---------------------next():-------------------------
* 1. 一定要读取到有效字符后才可以结束输入
* 2. 对输入有效字符之前遇到的都空白,next()会自动去除
* 3. 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
* 4. next()不能得到带有空格的字符串
* ---------------------nextLine()----------------------
* 1.以enter作为结束符,也就是说nextLine()可以获取输入回车以前的所有字符
* 2.可以获得空白
*/ 

Scanner进阶使用

/*---------------判断输入的类型---------------------------*/
// 创建一个扫描器对象,用于接收键盘输入
Scanner scn = new Scanner(System.in);
// 从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数或小数:");
// 属于io流的类如果不关闭会一直占用资源,需要手动关闭
if(scn.hasNextInt()){
    i = scn.nextInt();
    System.out.println("整数数据:");
}else if(scn.hasNextFloat()){
    System.out.println("输入的数据不是小数数据");
}else{
    System.out.println("输入的数据非法");
}
scn.close();

/*---------------求总和和平均值--------------------------*/
// 输入多个数字,求其总和与平均值
//每输入一个数字用回车确认,通过输入的非数字来结束输入并输出执行结果
Scanner scn = new Scanner();
// 和
double sum = 0;
// 计算输入了多少数字
int m = 0;
/// 通过循环判断是否还有输入,并对其进行求和和统计
while(scn.hasNextDouble()){
    double x = scn.nextDouble();
    m++;//m= m + 1
    sum += x;//sum = sum + x
    System.out.println("你输入了第"+m+"个数据,当前的sum为:"+sum);
}
System.out.println(m+"个数的和是:"+sum);
System.out.println(m+"个数的平均值是:"+(sum/m);
scn.close();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java中提供了Scanner这样一个工具类,用来获取用户的输入,实现了程序和人的交互。java.util.Sca...
    桧柒阅读 258评论 0 1
  • Scanner对象 java.util.Scanner是java5的新特征,我们可以通过Scannner类来获取用...
    梵星丶HanSin阅读 225评论 0 1
  • Scanner对象: java.util.Scanner是java5的新特征,我们可以通过Scanner类来获取用...
    洪孝峥阅读 225评论 0 3
  • Scanner对象 java.util.Scanner是java5的新特征,我们可以通过Scannner类来获取用...
    王艺博阅读 395评论 0 5
  • 四、流程控制 目录:用户交互Scanner、顺序结构、选择结构、循环结构、break&continue、练习 1....
    Ping开源阅读 221评论 0 2