Java学习笔记——Scanner类的用法

Scanner类

我们可以通过 Scanner 类来获取用户键盘输入。
使用Scanner来获得用户的键盘输入
Scanner类主要提供了两个方法来扫描输入:

  • hasNextXx():是否还有下一个输入项,其中Xxx可以是Int、Long等代表基本数据类型的字符串,例如hasNextInt(),此时可以输入多个数字,以非数字结束输入。如果只是判断是否包含下一个字符串,则直接使用hasNext()
  • nextXxx():获取下一个输入项。Xxx的含义同上

在默认情况下,Scanner会将空白(空格、Tab、回车)作为多个输入项的分隔符

import java.util.Scanner;

public class test {
     
    public static void main(String[] args) {
     
        Scanner s = new Scanner(System.in);
        while (s.hasNext()){
     
            System.out.println("输入的内容是:"+s.next());
        }
    }

// 输入:我是
// 输出:输入的内容是:我是
// 输入:我 是
// 输出:输入的内容是:我
// 输出:输入的内容是:是

使用Scanner.useDelimiter( )方法:可以对输入中的默认的空白的分隔操作修改

import java.util.Scanner;

public class test {
     
    public static void main(String[] args) {
     
        Scanner s = new Scanner(System.in);
        //使用换行对输入进行分隔
        s.useDelimiter("\n");
        while (s.hasNext()){
     
            System.out.println("输入的内容是:"+s.next());
        }
    }

// 输入:我 是
// 输出:输入的内容是:我是
// 输入:i love java
// 输出:输入的内容是:i love java

使用hasNextInt(),进行一个输入整数求均值的操作

import java.util.Scanner;
//输入整数,最后以非数字字符结束输入
public class test {
     
    public static void main(String[] args) {
     
        Scanner s = new Scanner(System.in);
        int sum=0;//求和
        int count=0;//记录输入数量
        while (s.hasNextInt()){
     
            sum+=s.nextInt();
            count+=1;
        }
        System.out.println("和:"+sum+" 总数:"+count+" 均值为:"+sum/count);
    }
}

//输入 :5 5 8 #
//输出 :和:18 总数:3 均值为:6

逐行读取方法

  • boolean hasNextLine():判断输入源中是否还有下一行
  • String nextLine():返回输入源中下一行的字符串,以回车为结束符,不对空白分隔
import java.util.Scanner;

public class test {
     
    public static void main(String[] args) {
     
        Scanner s = new Scanner(System.in);
        //没有使用useDelimite()
        while (s.hasNextLine()){
     
            System.out.println("输入的内容是:"+s.nextLine());
        }
    }
}
//输入 :i love java
//输出 :输入的内容是:i love java

可从上述结果看出,hasNextLine()读取了一整行的内容

你可能感兴趣的:(JAVA,java,编程语言)