现在的位置: 首页 > 综合 > 正文

控制台输入类java.util.Scanner

2018年03月18日 ⁄ 综合 ⁄ 共 844字 ⁄ 字号 评论关闭

Scanner类最实用的地方表现在获取控制台输入。当通过new
Scanner(System.in)创建一个Scanner,控制台会一直等待输入,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。

1 如何判断控制台输入结束?

按回车键是输入下一行,多行输入,要有个结束符标志,如下例子中的“exit”

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in); 
        System.out.println("input files' name:"); 
        while (true) { 
                String line = s.nextLine(); 
                if (line.equals("exit")) break; 
                System.out.println(">>>" + line); 
        } //end while
}

Scanner默认使用空格作为分割符来分隔文本,但允许你指定新的分隔符

使用默认的空格分隔符:

        public static void main(String[] args) throws FileNotFoundException { 
                Scanner s = new Scanner("123 asdf sd 45 789 sdf asdfl,sdf.sdfl,asdf    ......asdfkl    las"); 
//                s.useDelimiter(" |,|\\."); 
                while (s.hasNext()) { 
                        System.out.println(s.next()); 
                } 
        }

输出如下

123 
asdf 
sd 
45 
789 
sdf 
asdfl,sdf.sdfl,asdf 
......asdfkl 
las 

Process finished with exit code 0

将注释行去掉,使用空格或逗号或点号作为分隔符,输出结果如下:

123 
asdf 
sd 
45 
789 
sdf 
asdfl 
sdf 
sdfl 
asdf 







asdfkl 

las 

Process finished with exit code 0


抱歉!评论已关闭.