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 }
  • 相关阅读:
    观察者模式
    简单工厂
    一个数组先按值排序,如果它的值有相同,就再按键排序(转)
    Python 一些好玩的函数
    python 一些基础知识
    python3 写CSV文件多一个空行的解决办法
    pandas学习笔记
    pycharm2017.1破解方法
    python的Debug调试
    python中字典的陷阱
  • 原文地址:https://www.cnblogs.com/jiangjianzhu/p/5784479.html
Copyright © 2011-2022 走看看