zoukankan      html  css  js  c++  java
  • java利用Scanner获取键盘输入

    在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢...

     
    java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数...
    Scanner是一个基于正则表达式的文本扫描器~~可以从文件,输入流,字符串中解析出基本类型和字符串类型的值。Scanner类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据。(摘自《疯狂java讲义》李刚)
    代码示例:
     
    import java.util.Scanner;
    
    /**
     * Scanner的简单示例
     * */
    public class TestScanner {
        
        public static void main(String[] args) {
            
            //创建Scanner对象
            //System.in表示标准化输出,也就是键盘输出
            Scanner sc = new Scanner(System.in);
            //利用hasNextXXX()判断是否还有下一输入项
            while (sc.hasNext()) {
                //利用nextXXX()方法输出内容
                String str = sc.next();
                System.out.println(str);
            }
        }
    }
    

      

    结果就是:你在控制台输入什么内容,点击回车后,下面就会输出同样的内容,如果你输入的时候点击了回车或者Tab键,那么输出的内容就会在那个地方换行~~
    结果如图:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
     可以利用Scanner在java程序需要参数的时候输入参数
    代码示例:TestScannerIn.java
    import java.util.Scanner;
    
    /**
     * 使用Scanner在程序需要的时候输入参数
     * */
    public class TestScannerIn {
        
        public static void main(String[] args) {
            
            /**
             * 写一个输出个人信息的小例子
             * */
            Scanner sc = new Scanner(System.in);
            sc.useDelimiter("/n");
            System.out.println("欢迎来到冲出地球的博客,我是冲出地球^_^");
            System.out.println("请问你叫什么名字呢?");
            String name = sc.nextLine();
            System.out.println("请问你来自哪里呢?");
            String area = sc.nextLine();
            System.out.println("好的,你来自" + area + ",那么,你们那有什么美食吗?");
            String food = sc.nextLine();
            System.out.println("好的,那么我来复述一下你的信息:");
            System.out.println("你叫" + name + ",来自于:" + area);
            System.out.println("你们那最好吃的东西是:" + food);
            System.out.println("对吧~~");
        }
    }
    

      

    结果:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
     
    Scanner除了可以获取键盘输入外,也可以获取文件中的内容,将文件中的内容一行一行的输入出来
    如果文档在项目中(如图)
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
    示例代码:TestScannerRead.java
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    
    
    /**
     * 利用Scanner读取项目中的文档
     * */
    public class TestScannerRead {
        
        public static void main(String[] args){
            
            Scanner sc;
            try {
                //读取项目中的文档
                sc = new Scanner(new File("ScannerTest.txt"));
                System.out.println("项目中的文本内容是:");
                //通过判断是否有下一行来输出文档内容
                while (sc.hasNextLine()) {
                    System.out.println(sc.nextLine());
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    

      

    结果:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
     如果从本地读取文档
    示例代码:TestScannerRead.java
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    
    /**
     * 利用Scanner读取本地的文件
     * */
    public class TestScannerRead {
        
        public static void main(String[] args){
            FileInputStream fis;
            try {
                //利用文件上传功能
                fis = new FileInputStream("D:\text\ScannerTest.txt");
                //设置文件编码
                Scanner sc = new Scanner(fis,"UTF-8");
                System.out.println("本地文件内容:");
                //输出文件内容
                while (sc.hasNextLine()) {
                    System.out.println(sc.nextLine());
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    

      

    结果:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球

    鉴于本人水平有限,文章中难免有疏漏...欢迎各位批评指正

  • 相关阅读:
    BZOJ2648: SJY摆棋子
    BZOJ1925: [Sdoi2010]地精部落
    BZOJ1941: [Sdoi2010]Hide and Seek
    BZOJ2434: [Noi2011]阿狸的打字机
    BZOJ3295: [Cqoi2011]动态逆序对
    BZOJ1406: [AHOI2007]密码箱
    BZOJ1115: [POI2009]石子游戏Kam
    BZOJ1531: [POI2005]Bank notes
    BZOJ2730: [HNOI2012]矿场搭建
    计算几何《简单》入土芝士
  • 原文地址:https://www.cnblogs.com/wangweisheng/p/9753961.html
Copyright © 2011-2022 走看看