本文共 1090 字,大约阅读时间需要 3 分钟。
-- Start
在JDK 5.0之前, 我们可以通过如下方式读取用户输入, 但是想从控制台读取输入还是比较费劲的.
import javax.swing.JOptionPane;public class Test { public static void main(String[] args) throws Exception { String name = JOptionPane.showInputDialog("What is your name?"); System.out.println(name); }}JDK 5.0 引入的Scanner类大大简化了读取和解析用户输入, 来看一个简单的例子.
Scanner in = new Scanner(System.in);System.out.print("What is your name? ");String name = in.nextLine();System.out.print(name);in.close();我们知道命令行参数都是用空格来分割的, 用Scanner来解析命令行参数是非常容易的, 它直接将参数转换成具体的类型而不需要进行类型转换, 如下:String command = "one 1 0.3 true";Scanner s = new Scanner(command);String p1 = s.next();int p2 = s.nextInt();float p3 = s.nextFloat();boolean p4 = s.nextBoolean();s.close();Scanner类使用正则表达式来解析字符串, 所以我们完全可以定义自己的分隔符, 以下代码的输出和上面的完全相同, 只是分隔符不同.String command = "one SHANGBO 1 SHANGBO 0.3 SHANGBO true";Scanner s = new Scanner(command).useDelimiter("\\s*SHANGBO\\s*");String p1 = s.next();int p2 = s.nextInt();float p3 = s.nextFloat();boolean p4 = s.nextBoolean();s.close();
---更多参见:
-- 声 明:转载请注明出处 -- Last Updated on 2012-06-12 -- Written by ShangBo on 2012-04-26 -- End