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

 








 

相关文章
28. 【Java教程】Scanner 类
28. 【Java教程】Scanner 类
157 7
|
10月前
关于Scanner的一些理解
关于Scanner的一些理解
88 2
Scanner类、Random类、ArrayList类
Scanner类、Random类、ArrayList类
|
10月前
|
Scanner类中next()和nextLine()的区别
Scanner类中next()和nextLine()的区别
112 0
JAVA_Scanner方法获得用户输入
JAVA_Scanner方法获得用户输入
109 0
Scanner的基本用法
Scanner的基本用法
128 0
Scanner中nextLine()在nextInt()的几种解决方式
Scanner中nextLine()在nextInt()的几种解决方式
113 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等