Java 取得使用者输入 java.util.Scanner用法



Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档:

public final class Scanner 
extends Object 
implements Iterator<String>, Closeable

可见,Scanner是没有子类的。

在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:

构造方法:

public Scanner(File source) throws FileNotFoundException 
public Scanner(String source) 
public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象

方法:

public void close()    //关闭 
public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代
public boolean hasNext() //检测输入中,是否,还有单词
public String next()   //读取下一个单词,默认把空格作为分隔符
public String nextLine()  //读行 
注释:从hasNext(),next()繁衍了大量的同名不同参方法,这里不一一列出,感兴趣的,可以查看API

Scanner取得输入会依据空白字元、空白键、Tab,传回下一个输入。

第一种nextInt():取得使用者输入的整数

import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        int num1, num2, num3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入三個數字(以空白鍵分開):");
        num1 = scanner.nextInt();
        num2 = scanner.nextInt();
        num3 = scanner.nextInt();
        System.out.println("您輸入第一個數字為:" + num1 );
        System.out.println("您輸入第二個數字為:" + num2 );
        System.out.println("您輸入第三個數字為:" + num3 );

    }
}

結果:
Java 取得使用者输入 java.util.Scanner用法

Java 取得使用者输入 java.util.Scanner用法


第二種 nextFloat():取得使用者輸入的浮點數
import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        float float1, float2, float3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入三個浮點數(以Tab鍵分開):");
        float1 = scanner.nextFloat();
        float2 = scanner.nextFloat();
        float3 = scanner.nextFloat();
        System.out.println("您輸入第一個浮點數為:" + float1 );
        System.out.println("您輸入第二個浮點數為:" + float2 );
        System.out.println("您輸入第三個浮點數為:" + float3 );

    }
}

結果:
Java 取得使用者输入 java.util.Scanner用法

Java 取得使用者输入 java.util.Scanner用法


第三種 nextLine():取得使用者輸入的字串(包含空白字元、空白鍵、Tab)
import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        String str1, str2, str3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入一字串:");
        str1 = scanner.nextLine();
        System.out.println("您輸入的字串一為:\n" + str1 );

    }
}

結果:
Java 取得使用者输入 java.util.Scanner用法

Java 取得使用者输入 java.util.Scanner用法


 

第四種 next():取得使用者輸入的字串(不包含空白字元、空白鍵、Tab)
import java.util.Scanner;

public class Scanner_test {
    public static void main(String[] args) {
        String str1, str2, str3;
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("請輸入一字串:(不包含空白字元、空白鍵、Tab)");
        str2 = scanner.next();
        System.out.println("您輸入的字串一為:\n" + str2 );
    }
}

结果:

Java 取得使用者输入 java.util.Scanner用法

Java 取得使用者输入 java.util.Scanner用法

如果想要更多更详细关于Scanner 的说明请点以下连结

http://tw.gitbook.net/java/util/java_util_scanner.html

 

参考:

Java 开发环境配置

Java 快速参考指南

Java打印数组 Java Print Array Examples

在Java中如何高效的判断数组中是否包含某个元素(in_array)

深入分析Java中的length和length()

 

本文: Java 取得使用者输入 java.util.Scanner用法

发表评论