跳至主要內容

hint2

codejava hint约 183 字小于 1 分钟

  1. -128 到 +127 以内的int值都是自动包装好,所以对象都是一个 alt text

  2. ScannernextIntScanner scanner = new Scanner(System.in);scanner.nextInt() 只读整数,不读换行符(\n) 换行符仍然留在输入缓冲区中,需要清理对应的换行符

  3. Java 中 finally 的行为

    不论 try 里是正常结束、遇到 return、遇到异常,finally 块里的内容都会被执行。

      try {
          System.out.println(prompt);
          return scanner.nextInt();
      } catch (InputMismatchException e) {
          System.err.println("输入的不是数字,重新输入");
      } finally {
          scanner.nextLine(); // 关键:清除输入缓冲区的换行符
      }
    

    即使这样,也会执行 finally,这样解决了缓冲区存在 \n 的问题

  4. consume

上次编辑于: