概述
当需要输入文字资料到程序中时,可以使用标准的InputStream流System.in获取位元组的资料,并可通过其提供的read()方法取得字节的ASCII编码整数。
Scanner
获取用户输入字符串:
import java.util.Scanner;
public class HelloCc {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please input your name: ");
System.out.printf("Hello! %s!", scanner.next());
}
}
执行结果:
Please input your name:
Hello! Cc!
类似方法:nextInt()
,nextFloat()
,nextBoolean
,nextLine()
注意:
Scanner的next()方法获取的依据是空白字节,无论是空格键、tab键、enter键,Scanner都会传入下一个输入
BufferedReader
尽管Scanner使用起来很方便,但是它以空白字符串区隔每一个字符,当用户输入一个包含空白字节的完整字符串时就并不适用。这时就可以使用java.io包构建BufferedReader为标准输入串流建立缓冲区。
获取用户输入(包括空白字节):
import java.io.*;
public class HelloCc {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input text: ");
String text = buf.readLine();
System.out.println(text);
}
}
执行结果:
Please input text:
I am Cc!
注意:
readLine()方法必须处理IOException异常
作者:益达维他C
链接:https://juejin.cn/post/6984258330365526029
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。