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

 








 

相关文章
|
11天前
关于Scanner的一些理解
关于Scanner的一些理解
20 2
|
5月前
|
程序员
Scanner类中next()和nextLine()的区别
Scanner类中next()和nextLine()的区别
25 0
|
5月前
|
存储 Java API
Scanner类、Random类、ArrayList类
Scanner类、Random类、ArrayList类
|
7月前
|
Java
Java Scanner 类 (获取用户的输入)
Java Scanner 类 (获取用户的输入)
|
8月前
|
Java
JAVA_Scanner方法获得用户输入
JAVA_Scanner方法获得用户输入
40 0
|
10月前
Scanner
Scanner
40 0
|
11月前
|
Java
Scanner的基本用法
Scanner的基本用法
79 0
|
11月前
|
Java 程序员
Java中Scanner类的使用
Java中Scanner类的使用
79 0
|
11月前
Scanner中nextLine()在nextInt()的几种解决方式
Scanner中nextLine()在nextInt()的几种解决方式
56 0
next 与 nextLine 方法的区别
next 与 nextLine 方法的区别
298 0
next 与 nextLine 方法的区别