Scanner类

简介: import java.io.Console; import java.util.Scanner; /*2015-11-29*/ public class ConsoleInput { public static void main(String[] args) { System.

 

import java.io.Console;
import java.util.Scanner;

/*2015-11-29*/
public class ConsoleInput {
    public static void main(String[] args) {
        System.out.println("Please enter the item ID:");
        Console console = System.console();
        if (console == null) {
            System.out.println("以Javaw所执行的应用(譬如eclipse)没有主控制台(console),所以System.console()为null");
            System.out.print(">");
            Scanner scanner = new Scanner(System.in);
            long input = scanner.nextLong();
            System.out.println(input);
            return;
        }
        String input = console.readLine(">");
        System.out.println(Long.parseLong(input));
    }

}



输入:两个回车,再输入“test”,回车

nextLine:

import java.util.Scanner;

public class ScanerTest {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String input = scanner.nextLine();
//             String input=scanner.next();
            System.out.println("Input:" + input);
        }
        scanner.close();
    }
}

OutPut:

Input:
Input:
Input:test


next:

import java.util.Scanner;

public class ScanerTest {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
//            String input = scanner.nextLine();
             String input=scanner.next();
            System.out.println("Input:" + input);
        }
        scanner.close();
    }
}

OutPut:

Input:test

 




Scanner对象中nextLine和next的差别。

String java.util.Scanner.nextLine()

Advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end. The position is set to the beginning of the next line.

Since this method continues to search through the input looking for a line separator, it may buffer all of the input searching for the line to skip if no line separators are present.

Returns: the line that was skipped
Throws: NoSuchElementException - if no line was found
IllegalStateException - if this scanner is closed

 

String java.util.Scanner.next()

Finds and returns the next complete token from this scanner. A complete token is preceded and followed by input that matches the delimiter pattern. This method may block while waiting for input to scan, even if a previous invocation of hasNext returned true.

Specified by:
next() in Iterator
Returns: the next token
Throws: NoSuchElementException - if no more tokens are available
IllegalStateException - if this scanner is closed
See Also: java.util.Iterator

 








 

相关文章
|
2月前
|
存储 Java
Java Scanner类详解与应用
Java Scanner类详解与应用
|
7月前
|
Java
【零基础学Java】—Scanner类的使用( 十)
【零基础学Java】—Scanner类的使用( 十)
|
1月前
|
小程序 Java
28. 【Java教程】Scanner 类
28. 【Java教程】Scanner 类
37 7
|
2月前
|
Java
Java Scanner 类
4月更文挑战第21天
|
2月前
关于Scanner的一些理解
关于Scanner的一些理解
29 2
|
2月前
|
存储 Java API
Scanner类、Random类、ArrayList类
Scanner类、Random类、ArrayList类
|
2月前
|
程序员
Scanner类中next()和nextLine()的区别
Scanner类中next()和nextLine()的区别
33 0
|
10月前
|
Java
JAVA_Scanner方法获得用户输入
JAVA_Scanner方法获得用户输入
49 0
|
Java
Scanner的基本用法
Scanner的基本用法
92 0