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

 








 

相关文章
|
4月前
|
程序员
Scanner类中next()和nextLine()的区别
Scanner类中next()和nextLine()的区别
25 0
|
4月前
|
存储 Java API
Scanner类、Random类、ArrayList类
Scanner类、Random类、ArrayList类
|
5月前
|
存储 Java
使用Java Scanner类与用户交互的实例详解
使用Java Scanner类与用户交互的实例详解
|
5月前
|
存储 Java 数据处理
Java使用Scanner类实现用户输入与交互
Java使用Scanner类实现用户输入与交互
|
6月前
|
Java
Java Scanner 类 (获取用户的输入)
Java Scanner 类 (获取用户的输入)
|
7月前
|
Java
JAVA_Scanner方法获得用户输入
JAVA_Scanner方法获得用户输入
38 0
|
9月前
Scanner
Scanner
40 0
|
10月前
|
Java
Scanner的基本用法
Scanner的基本用法
79 0
|
10月前
Scanner中nextLine()在nextInt()的几种解决方式
Scanner中nextLine()在nextInt()的几种解决方式
56 0
|
Java API
Java Scanner类简介
要想通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联
59 0