首页 > 技术文章 > scanner对象

yixiansheng 2021-07-29 20:58 原文

scanner对象

通过scanner对象来获取用户的输入

1.语法

Scanner scanner = new Scanner(System.in);

2.通过Scanner类的next()和nextLine()方法来获取输入的字符串。在读取之前我们一般用hasnext()或者hasnextLine()判断是否还有输入的数据

3.凡是属于IO流的类如果不关闭会一直占用资源,养成一个好习惯用完就关掉(close())

4.题目练习

  public static void main(String[] args) {
        //输入多个数字,然后求平均是和和,通过输入非数字来结束。
        double sum = 0 ;
        int count = 0 ;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字:");
        //利用循环和条件判断
        while (scanner.hasNextDouble()){
            double v = scanner.nextDouble();
            sum += v;
            count++;
        }
        System.out.println("和:"+sum);
        System.out.println("一共输入了:"+count+"个数字");
        System.out.println("平均数数是:"+sum/count);
        //凡是属于IO流的类如果不关闭会一直占用资源,养成一个好习惯用完就关掉
        scanner.close();
    }


 public static void main(String[] args) {
        /*1、手动输入一行字符(字母+数字),
     分别统计出其字母、数字各有多少个,
      将结果输出到控制台。*/
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        String str = sc.next();
        char[] arr = str.toCharArray(); // toCharArray() 将字符串拆分成一个一个的字符
        int numbeCount = 0;
        int zimuCount = 0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] >='0' && arr[i]<='9'){
                System.out.println("数字:"+arr[i]);
                numbeCount++;
            }
            else if((arr[i] >='a' && arr[i] <= 'z') || (arr[i] >='A' && arr[i] <= 'Z')){
                System.out.println("字母有:"+arr[i]);
                zimuCount++;
            }
        }
        System.out.println("数字有:"+numbeCount+"个");
        System.out.println("字母:"+zimuCount+"个");
        sc.close();//关闭资源
    }
}

推荐阅读