Java SE-Scanner

 

Java SE-Scanner

  • 凡是属于IO流类的如果不关闭,会一直占用资源,要养成好的习惯,用完关闭掉

  • Scanner scanner = new Scanner(System.in);

  • scanner.close();

next()和hasNext()

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

  2. 对输入有效字符之前的空白,nex()方法会自动将其去掉,例如:输入Hello world!,只看到输出:Hello

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

  4. next()不能读取带有空格的字符串,例如:输入Hello world!,只看到输出:Hello

import java.util.Scanner;

public class Demo01 {
   public static void main(String[] args) {
       //创建一个扫描器对象,用于接收键盘数据
       Scanner scanner = new Scanner(System.in);
       System.out.println("使用next接收数据:");
       //判断用户有没有输入字符串
       if(scanner.hasNext()){
           //使用next方式接收
           /*
           1、一定要读取有效的字符后才可以结束输入
           2、对输入有效字符之前的空白,nex()方法会自动将其去掉,例如:输入Hello world!,只看到输出:Hello
           3、只有输入有效字符后才将其后面输入的空白作为分隔符或是结束符
           4、next()不能读取带有空格的字符串,例如:输入Hello world!,只看到输出:Hello
           */
           String str = scanner.next();
           System.out.println("输入的数据为:"+str);
      }
       //凡是属于IO流类的如果不关闭,会一直占用资源
       //要养成好的习惯,用完关闭掉
       scanner.close();
  }
}

nextLine()和hasnextLine()

  • 以Enter键结束接收数据,所以nextLine()方法返回输入回车之前的所有字符

  • 可以获得空白

  • 基因next()方法获取不了空格,所以基本使用nextLine()方法

import java.util.Scanner;

public class Demo02 {
   public static void main(String[] args) {
       //从键盘接收数据
      Scanner scanner = new Scanner(System.in);
      System.out.println("使用nextLine接收数据:");
       //使用nextLine()获取数据
       // 以Enter键结束接收数据,所以nextLine()方法返回输入回车之前的所有字符
       // 可以获得空白
      if(scanner.hasNextLine()){
          String str = scanner.nextLine();
          System.out.println("输出接收的数据:"+str);
      }
      scanner.close();
  }
}
//*************基本使用这种方式********************//
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();
  }
}

nextInt()、hasNextInt()、nextFloat()和hasNextFloat()

  1. 判断是否为整型和浮点型

  2. 是整型或浮点型,方可赋值

import java.util.Scanner;

public class Demo04 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.println("输入的字符类型:");
       //接收数字字符
       int i = 0;
       float f =0.0F;
       if(scanner.hasNextInt()){
           i = scanner.nextInt();
           System.out.println("输入的内容为:"+i);
      }else{
           System.out.println("您输入的不是整数!");
      }
       //小数输入
       if(scanner.hasNextFloat()){
           f = scanner.nextFloat();
           System.out.println("输入的内容为:"+f);
      }else{
           System.out.println("您输入的不是小数!");
      }
       scanner.close();
  }
}
//**************键盘输入应用**************************//
import java.util.Scanner;
public class Demo05 {
   public static void main(String[] args) {
       //输入多个数字,求多个数的和、平均值
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入数值:");
       double m = 0;
       int num = 0;
       double sum = 0;
       double average = 0;
       while(scanner.hasNextDouble()){
           m = scanner.nextDouble();
           sum = sum+m;
           num = num+1;
           System.out.println("当前输入数值和sum=:"+sum);
           System.out.println("当前输入数值个数num=:"+num);
      }
       //求平均数
       average = sum/num;
       System.out.println("当前输入"+num+"个数字,平均数average=:"+average);
       scanner.close();
  }
}
//***************键盘输入数据并计算******************
import java.util.Scanner;
public class Demo05 {
   public static void main(String[] args) {
       //输入多个数字,求多个数的和、平均值
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入数值:");
       double m = 0;
       int num = 0;
       double sum = 0;
       double average = 0;
       while(scanner.hasNextDouble()){
           m = scanner.nextDouble();
           sum = sum+m;
           num = num+1;
           System.out.println("当前输入数值和sum=:"+sum);
           System.out.println("当前输入数值个数num=:"+num);
      }
       //求平均数
       average = sum/num;
       System.out.println("当前输入"+num+"个数字,平均数average=:"+average);
       scanner.close();
  }
}

 

上一篇:Java SE学习笔记的内容目录


下一篇:SE负责监管计算机系统的构建