Java学习-常用类(Scanner)

一、基本含义

项目 含义
作用 获取用户的输入
创建 Scanner input = new Scanner(System.in)
判断是否还有输入的数据 input.hasNext (); input.hasNextLine;
获取输入信息 input.next(); input.nextInt();

二、next()和nextLine()

2.1 next()

获取字符串特点:
1、有效字符之前的空白等自动丢弃。
2、遇到空白时,停止获取。即自动丢弃空白及其后内容。
3、获取无空格的字符串,因为空格后的内容被丢弃了。

import java.util.scanner; // 导入scanner类。
public class ScannerDemo{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in); // 创建scanner对象。
    // 创建变量接收控制台输入的数据。
    Strinng str = "";
    // 判断控制台是否输入数据了。scan.hasNext()
    if(scan.hasNext()){
      str = scan.next();
      System.out.println("这是刚刚从控制台获取的数据:" + str);
    }
    scan.close(); // 结束接收。
  }
}

2.2 nextLine()

1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。

import java.util.Scanner;
public class ScannerDemon{
  public static void main(String[] args){
     // 创建Scanner类的实例对象。
     Scanner scan = new Scanner(System.in);
     // 创建变量接收控制台获取的数据。
     String str = "";
     // 判断控制台是否输入数据。
     if(scan,hasNextLine()){
        str = scan.nextLine();
        System.out.println("这是刚刚从控制台获取的数据:" + str);
     }
     scan.close(); // 结束接收。
  }
}

三、获取数字时

使用hasNextXxx()和nextXxx()形式,如hasNextInt()和nextInt()

import java.util.Scanner;
public class SacnnerDemon{
  public static void main(String[] args){
    // 创建Scanner类的实例对象。
    Scanner scan = new Scanner(System.in);
    // 创建变量接收获取的数据。
    int num1 = 0;
    float num2 = 0.0f;
    String str = "";
    if(scan.hasNextInt()){
      num1 = scan.nextInt;
      System.out.println("输入的数据是整数int型:" + num1);
    }else if( scan.hasNextFloat()){
       num2 = scan.nextFloat();
       System.out.println("输入的数据是浮点float型:" + num2);
    }else{
      str = scan.nextLine();
      System.out.println("输入的数据是非数字型:" + str );
    }
    // 结束接收。
    scan.close(); 
  }
}

四、连续获取数据

使用while循环来进行获取数据

import java.util.scanner; // 导入scanner类。
public class ScannerDemo{
  public static void main(String[] args){
    // 创建scanner对象。
    Scanner scan = new Scanner(System.in);     
    int tol = 0; // 统计输入了几个数字。
    int sum = 0; // 求取输入数字之和。
    // 连续获取:while循环。
    while(scan.hasNextInt()){
      // 创建变量接收控制台输入的数据。
      int num = scan.nextInt();
      tol++;
      sum = sum + num; // 求和。
    }
    System.out.prinln("输入了" + tol + "个数据,和为:" + sum); // 输出和。
    System.out.println("输入数据的平均数取整为:" + (sum / tol)); //  输出平均数取整后的结果。 
    // 结束接收。
    scan.close(); 
  }
}

猜你喜欢

转载自blog.csdn.net/lizengbao/article/details/85193934