先输入数字,再输入字符串会出现问题。注意:都是输好了一个就按enter键。
- package cn.itcast_03;
- import java.util.Scanner;
- /*
- * 常用的两个方法:
- * public int nextInt():获取一个int类型的值
- * public String nextLine():获取一个String类型的值
- *
- * 出现问题了:
- * 先获取一个数值,在获取一个字符串,会出现问题。
- * 主要原因:就是那个换行符号的问题。
- * 如何解决呢?
- * A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
- * B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。
- */
- public class ScannerDemo {
- public static void main(String[] args) {
- // 创建对象
- Scanner sc = new Scanner(System.in);
- // 获取两个int类型的值
- // int a = sc.nextInt();
- // int b = sc.nextInt();
- // System.out.println("a:" + a + ",b:" + b);
- System.out.println("-------------------");
- // 获取两个String类型的值
- // String s1 = sc.nextLine();
- // String s2 = sc.nextLine();
- // System.out.println("s1:" + s1 + ",s2:" + s2);
- // System.out.println("-------------------");
- // 先获取一个字符串,在获取一个int值
- // String s1 = sc.nextLine();
- // int b = sc.nextInt();
- // System.out.println("s1:" + s1 + ",b:" + b);
- //
- // System.out.println("-------------------");
- // 先获取一个int值,在获取一个字符串,问题在此,回车表示'\r''\n',会把'\r'赋给字符串
- // int a = sc.nextInt();
- // String s2 = sc.nextLine();
- // System.out.println("a:" + a + ",s2:" + s2);
- // System.out.println("-------------------");
- int a = sc.nextInt();
- Scanner sc2 = new Scanner(System.in);
- String s = sc2.nextLine();
- System.out.println("a:" + a + ",s:" + s);
-
复制代码
|
|