用户交互Scanner

一、用户交互Scanner

java.util.Scanner是Java5的新特征,Java通过Scanner类来获取用户的输入

 

基本语法

Scanner s = new Scanner (System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般使用hasNext() 和hasNextLine()判断是否还有输入的数据

package Scanner;
import java.util.Scanner;

public class Demo03 {
   public static void main(String[] args) {
       //从键盘接收数据
       Scanner scanner new Scanner (System.in);

       System.out.println("请输入数据:");
       //判断是否还有输入

       String str scanner.nextLine();

       System.out.println("输入的内容为: "+str);
       
       scanner.close();
       //请输入数据:
       //我是谁我在那 啊?
       //输入的内容为: 我是谁我在那 啊?
  }
}

Next()

  1. 一定要读取到有效字符后才可以结束输入

  2. 对输入有效字符之前遇到的空白,next()会将其去掉

  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

  4. next()不能得到带有空格的字符串

 

import java.util.Scanner;

Scanner scanner = new Scanner(system.in);

String str = scanner.next();

scanner.close();

package Scanner;
import java.util.Scanner;

public class Demo01 {
   public static void main(String[] args) {

       //创建一个扫描器对象,用于接收键盘数据
       Scanner scanner new Scanner(System.in);


       System.out.println("使用next方式接受: ");

       //判断用户有没有输入字符串 可以省略==true
       if (scanner.hasNext() ==true){
           String str scanner.next();//接受键盘输入
           System.out.println("输入的内容为:"+str);

           //凡事属于IO(input output)流的类,如果不关闭会一直占用资源,要养成好习惯用完关掉
           

           /*
           * 使用next方式接受:
           我是谁我在哪我为何
           输入的内容为:我是谁我在哪我为何
           * */

      }
     scanner.close();
  }

 

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入会车之前的所有字符

  2. 可以获得空白

 

import java.util.Scanner;

Scanner scanner = new Scanner (system.in);

String str = scanner.nextLine();

Scanner.close

package Scanner;
import java.util.Scanner;

public class Demo02 {
   public static void main(String[] args) {
       //从键盘接收数据
       Scanner scanner new Scanner (System.in);
       
       System.out.println("使用nextLine方式接收:");
       //判断是否还有输入

       if (scanner.hasNextLine()){
           String str scanner.nextLine();
           System.out.println("输入的内容为: "+str);

      }
       scanner.close();
     
  }
}

 

Scanner 接收整数、小数

package Scanner;
import java.util.Scanner;

//输入int、小数
public class Demo04 {
   public static void main(String[] args) {
       Scanner scanner new Scanner (System.in);

       //从键盘接收数据
       int 0;
       float 0.0f;
     
//整数判断输出
       System.out.println("请输入整数: ");
       if(scanner.hasNextInt()){
           scanner.nextInt();
           System.out.println("整数数据: "+i);
      }else{
           System.out.println("你输入的不是整数数据!");
      }
     
//小数判断输出:
       System.out.println("请输入小数: ");
       if(scanner.hasNextFloat()){
           scanner.nextFloat();
           System.out.println("小数数据: "+f);
      }else{
           System.out.println("你输入的不是小数数据!");
      }
       /*
       请输入整数:
               4
              整数数据: 4
              请输入小数:
              3.3
              小数数据: 3.3
       *
      */

  }
}

 

求“和”和“平均值”

package Scanner;
import java.util.Scanner;

public class Demo05 {
   public static void main(String[] args) {
       //可以输入多个数字,求总和与平均数,每输入一个数字用会车确认,通过输入非数字来结束并输出执行结果
       Scanner scanner new Scanner(System.in);

       //和
       double sum 0;
       //计算输入了多少个数字
       int 0;
       //通过循环判断是否还有输入,并在里面对每一次进行求和统计
       while (scanner.hasNextDouble()){
           double scanner.nextDouble();

           +1; // m++

           sum sum x;
           System.out.println("你输入了第"+m+"个数据,然后当前结果sum" sum);
      }
       System.out.println("和为:" sum);
       System.out.println("平均值为: " + (sum m));

       scanner.close();

  }
}
/*
3
你输入了第1个数据,然后当前结果sum3.0
4
你输入了第2个数据,然后当前结果sum7.0
7
你输入了第3个数据,然后当前结果sum14.0
80
你输入了第4个数据,然后当前结果sum94.0
90
你输入了第5个数据,然后当前结果sum184.0
0
你输入了第6个数据,然后当前结果sum184.0
22
你输入了第7个数据,然后当前结果sum206.0
34
你输入了第8个数据,然后当前结果sum240.0
A
8和为:240.0
8平均值为: 30.0

*/

 

posted @ 2021-02-06 13:08  NTE701  阅读(97)  评论(0)    收藏  举报
1