Java怎么从控制台输入
在 Java 中,有四种不同的方式可以在命令行环境(控制台)中读取用户的输入。
1.使用缓冲阅读器类
这是Java经典的取输入方式,在JDK1.0中引入。此方法通过将 System.in(标准输入流)包装在 InputStreamReader 中来使用,InputStreamReader 包装在 BufferedReader 中,我们可以在命令行中读取用户的输入。
输入被缓冲以实现高效读取。
包装代码很难记住。
执行:
// Java program to demonstrate BufferedReader import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { public static void main(String[] args) throws IOException { // Enter data using BufferReader BufferedReader reader = new BufferedReader( new InputStreamReader(System.in)); // Reading data using readLine String name = reader.readLine(); // Printing the read line System.out.println(name); } }
输入:
尚学堂
输出:
辅助空间:O(1)
尚学堂
2.使用 Scanner 类
这可能是接受输入的最首选方法。Scanner 类的主要目的是使用正则表达式解析原始类型和字符串,但是,它也可用于在命令行中读取用户的输入。
从标记化输入中解析基元(nextInt()、nextFloat()、...)的便捷方法。
正则表达式可用于查找标记。
阅读方式不同步
// Java program to demonstrate working of Scanner in Java import java.util.Scanner; class GetInputFromUser { public static void main(String args[]) { // Using Scanner for Getting Input from User Scanner in = new Scanner(System.in); String s = in.nextLine(); System.out.println("You entered string " + s); int a = in.nextInt(); System.out.println("You entered integer " + a); float b = in.nextFloat(); System.out.println("You entered float " + b); } }
输入:
hello 12 3.4
输出:
您输入了字符串 hello 您输入了整数 12 你输入了 float 3.4
3.使用控制台类
它已成为从命令行读取用户输入的首选方式。此外,它可以用于读取类似密码的输入,而不用回显用户输入的字符;也可以使用格式字符串语法(如 System.out.printf())。
优点:
-
读取密码而不回显输入的字符。 读取方法是同步的。 可以使用格式字符串语法。 不适用于非交互环境(例如 IDE)。
// Java program to demonstrate working of System.console() // Note that this program does not work on IDEs as // System.console() may require console public class Sample { public static void main(String[] args) { // Using Console to input data from user String name = System.console().readLine(); System.out.println("You entered string " + name); } }
输入:
hello
输出:
您输入了字符串 hello
4.使用命令行参数
最常用于竞争性编码的用户输入。命令行参数以字符串格式存储。Integer 类的 parseInt 方法将字符串参数转换为 Integer。同样,对于执行期间的浮动和其他。args[] 的用法出现在这种输入形式中。信息的传递发生在程序运行期间。命令行提供给 args[]。这些程序必须在 cmd 上运行。
代码:
// Program to check for command line arguments class Hello { public static void main(String[] args) { // check if length of args array is // greater than 0 if (args.length > 0) { System.out.println( "The command line arguments are:"); // iterating the args array and printing // the command line arguments for (String val : args) System.out.println(val); } else System.out.println("No command line " + "arguments found."); } }
命令行参数:
javac GFG1.java java Main Hello World
输出:
命令行参数是: 你好 世界
Java学习视频
Java基础:
Java项目:
下一篇:
如何学好编程?黄金四步走