A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大牛1 中级黑马   /  2016-5-30 15:20  /  401 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

先输入数字,再输入字符串会出现问题。注意:都是输好了一个就按enter键。
  1. package cn.itcast_03;

  2. import java.util.Scanner;

  3. /*
  4. * 常用的两个方法:
  5. *                 public int nextInt():获取一个int类型的值
  6. *                 public String nextLine():获取一个String类型的值
  7. *
  8. * 出现问题了:
  9. *                 先获取一个数值,在获取一个字符串,会出现问题。
  10. *                 主要原因:就是那个换行符号的问题。
  11. * 如何解决呢?
  12. *                 A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
  13. *                 B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。
  14. */
  15. public class ScannerDemo {
  16.         public static void main(String[] args) {
  17.                 // 创建对象
  18.                    Scanner sc = new Scanner(System.in);

  19.                 // 获取两个int类型的值
  20.                 // int a = sc.nextInt();
  21.                 // int b = sc.nextInt();
  22.                 // System.out.println("a:" + a + ",b:" + b);
  23.                  System.out.println("-------------------");

  24.                 // 获取两个String类型的值
  25.                 // String s1 = sc.nextLine();
  26.                 // String s2 = sc.nextLine();
  27.                 // System.out.println("s1:" + s1 + ",s2:" + s2);
  28.                 // System.out.println("-------------------");

  29.                 // 先获取一个字符串,在获取一个int值
  30. //                    String s1 = sc.nextLine();
  31. //                    int b = sc.nextInt();
  32. //                    System.out.println("s1:" + s1 + ",b:" + b);
  33. //
  34. //                    System.out.println("-------------------");

  35.                 // 先获取一个int值,在获取一个字符串,问题在此,回车表示'\r''\n',会把'\r'赋给字符串
  36.         // int a = sc.nextInt();
  37.         // String s2 = sc.nextLine();
  38.         // System.out.println("a:" + a + ",s2:" + s2);
  39.         // System.out.println("-------------------");

  40.                int a = sc.nextInt();
  41.                    Scanner sc2 = new Scanner(System.in);
  42.            String s = sc2.nextLine();
  43.                System.out.println("a:" + a + ",s:" + s);
  44.                
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马