您的位置:首页 > 编程语言 > Java开发

控制台输入类java.util.Scanner

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

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

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

 

[plain]

    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 



 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

}

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

使用默认的空格分隔符:

[java]

      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());  

                }  

        } 

        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());

                }

        }输出如下

[plain]

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将注释行去掉,使用空格或逗号或点号作为分隔符,输出结果如下:

[plain]

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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java学习