zoukankan      html  css  js  c++  java
  • Scanner概述

    * Scanner:用于接收键盘录入数据。

    * System类下有一个静态的字段:
    * public static final InputStream in; 标准的输入流,对应着键盘录入。
    *
    * InputStream is = System.in;
    *
    * class Demo {
    * public static final int x = 10;
    * public static final Student s = new Student();
    * }
    * int y = Demo.x;
    * Student s = Demo.s;
    *
    *
    * 构造方法:
    * Scanner(InputStream source)

     1 public class ScannerDemo {
     2     public static void main(String[] args) {
     3         // 创建对象
     4         Scanner sc = new Scanner(System.in);
     5 
     6         int x = sc.nextInt();
     7         
     8         System.out.println("x:" + x);
     9     }
    10 }

    * 基本格式:
    * public boolean hasNextXxx():判断是否是某种类型的元素
    * public Xxx nextXxx():获取该元素
    *
    * 举例:用int类型的方法举例
    * public boolean hasNextInt()
    * public int nextInt()
    *
    * 注意:
    * InputMismatchException:输入的和你想要的不匹配

     1 public class ScannerDemo {
     2     public static void main(String[] args) {
     3         // 创建对象
     4         Scanner sc = new Scanner(System.in);
     5 
     6         // 获取数据
     7         if (sc.hasNextInt()) {
     8             int x = sc.nextInt();
     9             System.out.println("x:" + x);
    10         } else {
    11             System.out.println("你输入的数据有误");
    12         }
    13     }
    14 }

    /*
    * 常用的两个方法:
    * public int nextInt():获取一个int类型的值
    * public String nextLine():获取一个String类型的值
    *
    * 出现问题了:
    * 先获取一个数值,在获取一个字符串,会出现问题。
    * 主要原因:就是那个换行符号的问题。
    * 如何解决呢?
    * A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
    * B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。
    */

     1 public class ScannerDemo {
     2     public static void main(String[] args) {
     3         // 创建对象
     4         Scanner sc = new Scanner(System.in);
     5 
     6         // 获取两个int类型的值
     7         // int a = sc.nextInt();
     8         // int b = sc.nextInt();
     9         // System.out.println("a:" + a + ",b:" + b);
    10         // System.out.println("-------------------");
    11 
    12         // 获取两个String类型的值
    13         // String s1 = sc.nextLine();
    14         // String s2 = sc.nextLine();
    15         // System.out.println("s1:" + s1 + ",s2:" + s2);
    16         // System.out.println("-------------------");
    17 
    18         // 先获取一个字符串,在获取一个int值
    19         // String s1 = sc.nextLine();
    20         // int b = sc.nextInt();
    21         // System.out.println("s1:" + s1 + ",b:" + b);
    22         // System.out.println("-------------------");
    23 
    24         // 先获取一个int值,在获取一个字符串
    25         // int a = sc.nextInt();
    26         // String s2 = sc.nextLine();
    27         // System.out.println("a:" + a + ",s2:" + s2);
    28         // System.out.println("-------------------");
    29 
    30         int a = sc.nextInt();
    31         Scanner sc2 = new Scanner(System.in);
    32         String s = sc2.nextLine();
    33         System.out.println("a:" + a + ",s:" + s);
    34     }
    35 }
  • 相关阅读:
    Github Actions 中 Service Container 的使用
    EFCore 5 新特性 SaveChangesInterceptor
    使用 Xunit.DependencyInjection 改造测试项目
    WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
    新版本 swagger 组件中 Servers 的 坑
    JDBC 规范中文版 4.2- 第五章 类和接口
    JDBC 规范中文版 4.2 -第四章 概览
    JDBC 规范中文版 4.2 -第三章 新特性
    JDBC 规范中文版 4.2 -第二章 目标
    Serve static assets with an efficient cache policy
  • 原文地址:https://www.cnblogs.com/jiangjianzhu/p/5784479.html
Copyright © 2011-2022 走看看