Java中从控制台读取输入的方法的总结
来源:互联网 发布:电路仿真软件哪种好 编辑:程序博客网 时间:2024/04/30 00:06
这两天在做算法题的时候,老是要求从控制台读取输入作为函数的参数来运行程序,所以特地总结了一下Java从控制台读取输入的方法。如下;
在较早的版本中,Java只能以一种方式读取控制台的输入,并且有点麻烦,那就是用System.in获取系统的输入流,再桥接到字符流用字符流来获取输入的内容
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Test1 {
- public static void main(String[] args) {
- String str = readString(“请输入字符串:“);
- System.out.println(”readString 方法的输入:“ + str);
- }
- /**
- * 使用系统的输入流,从控制台中读取数据<br/>
- * 用于所用的JDK版本
- * @param prompt 提示信息
- * @return 输入的字符串
- */
- private static String readString(String prompt) {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- string str = null;
- try {
- System.out.print(prompt);
- str = br.readLine();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return str;
- }
- }
这种方法是很麻烦的,不仅要获取系统的输入流,还要转换成字符流,并且还要进行异常的捕获,所以到后来JDK1.5推出一种新的较为简单的方法:
- import java.util.Scanner;
- public class Test3 {
- public static void main(String[] args) {
- String str = readString5(”请输入字符串:“);
- System.out.println(”readString5 方法的输入:“ + str);
- }
- /**
- * 使用扫描器类(Scanner)从控制台中读取字符串<br/>
- * 适用于JDK 5.0及以后的版本
- * @param prompt 提示信息
- * @return 输入的字符串
- */
- private static String readString5(String prompt) {
- Scanner scanner = new Scanner(System.in);
- System.out.print(prompt);
- return scanner.nextLine(); //这种方法可以读取多种数据类型的数据,比如使用nextInt读取Int类型,使用nextFlost读取flost类型等
- }
- }
这种方法之所以简单是因为Scanner进行了更高层次的封装,比如在Scanner内部就已经处理了异常
在JDK6.0出现后,又多了一种新的方法,那就是利用java.io.Console类来实现
- import java.io.Console;
- import java.util.Scanner;
- public class Test4 {
- public static void main(String[] args) {
- String str = readString6(”请输入字符串:“);
- System.out.println(”readString6 方法的输入:“ + str);
- }
- /**
- * 使用控制台类(Console)从控制台中读取字符串<br/>
- * 适用于JDK 1.6或以后的版本
- * @param prompt 提示信息
- * @return 输入的字符串
- */
- private static String readString6(String prompt) {
- Console console = System.console();
- if (console == null) {
- throw new IllegalStateException(”不能使用控制台“);
- }
- return console.readLine(prompt);
- }
- }
0 0
- Java中从控制台读取输入的方法的总结
- java中从控制台读取输入的三种方法
- 转载 java从控制台读取输入的方法
- Java从控制台读取输入的数
- Java中读取控制台的用户输入
- Java从控制台读取数据,输入流System.in的几种方法效率比较
- JDK 中从控制台读取输入的数据
- java怎么从控制台输入的几种方法
- Java从控制台获取输入的两种方法
- Java中从控制台输入数据的几种常用方法
- Java中从控制台输入数据的几种常用方法(scanner)
- Java中从控制台输入数据的几种常用方法
- 10007---Java中从控制台输入数据的几种常用方法
- Java中从控制台输入数据的几种常用方法
- 云端飘 Java中从控制台输入数据的几种常用方法
- Java中从控制台输入数据的几种常用方法
- Java中从控制台输入数据的几种常用方法(转)
- Java中从控制台输入数据的几种常用方法
- MFC : 在主窗口不透明的情况下, 建立一个半透明的子窗体带透明的TreeCtrl
- SQL根据一个日期,返回1号至当日所有日期
- 安装和使用flume1.5传输数据(日志)到hadoop2.2
- POJ-1011-Sticks-DFS(深搜)+四次剪枝
- Android异步处理二:使用AsyncTask异步更新UI界面
- Java中从控制台读取输入的方法的总结
- 2048源码分享
- uva 11374 Airport Express (Dijkstra)
- Android异步处理三:Handler+Looper+MessageQueue深入详解
- php扩展xdebug基本使用
- Android开发常用的10个工具类
- Linux下如何查看系统启动时间和运行时间
- Spring注解讲解
- poj 3087 Shuffle'm Up 模拟