scanner类简单用法

用户交互类 scanner

java.util.Scanner是Java5的新特性,用于获取用户输入
基本语法:

Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断师傅还有输入的数据

package ScannerStudy;
import java.util.Scanner;
public class demo2 {    
    public static voidmain(String[] args) {        
         System.out.println("Let's dance!");
//新建一个scanner类等待接收用户输入       
         Scanner iWatch=new Scanner(System.in);
//等待录入,即判断有没有录入  
         if(iWatch.hasNextLine()){
               String userInput=iWatch.nextLine();  
               System.out.println(userInput);       
               }
//关闭scanner,节省系统资源        
    iWatch.close();   
         }
    }


没有if判断也可以实现功能

  • next()会省略有效字符前面的空格,并以有效字符后面的字符作为结束符(分隔符);
  • nextLine可以读取空格。

eg:
一个小加法计算器,输入非数字后输出累加结果

package ScannerStudy;
import java.util.Scanner;
public class demo4 {   
    public static void main(String[] args) {        
      Scanner num = new Scanner(System.in);
      float sum = 0.0f;
      int count = 0;
      System.out.println("求和。输入一个加数后按回车:"); 
      while(num.hasNextFloat()){ 
              if(num.hasNextFloat()){               
                    float floatValue=num.nextFloat();
                    sum+=floatValue;   
                    count+=1;        
                    System.out.println("输入了第个"+count+"数!和为"+sum+"。继续:"); 
              }        
    System.out.println("结果:和为"+sum+",平均值为"+sum/count); 
    num.close(); 
    }
}



  • hasNextFloat方法用于判断后面有没有单精度浮点数
  • nextFloat属性用于返回后面的浮点数

posted @ 2021-02-07 17:59  菜鸟巫师illich  阅读(30)  评论(0编辑  收藏  举报