zoukankan      html  css  js  c++  java
  • 在死循环中使用Scanner获得键盘输入

    1. 编译时无错误和警告,且运行过程中无异常的代码示例 
    //编译时无错误和警告,且运行过程中无异常的代码示例
    package scanner_test;

    import java.util.*;

    public class Test {
    Scanner s = new Scanner(System.in);
    /*Scanner的实例作为类的成员,只生成一次,死循环中调用其方法,结束时应该会
    自动调用其close()方法*/
    public void test() {
    while(true) {
    try {
    System.out.println("str:"+s.nextLine());
    }catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
    public static void main(String[] args) {
    Test t = new Test();
    t.test();
    }
    }
    2. 编译时报错的示例代码 
    //编译时报错
    package scanner_test;

    import java.util.*;

    public class Test2 {
    public void test() {
    Scanner s = new Scanner(System.in);
    while(true) {
    try {
    System.out.println("str:"+s.nextLine());
    }catch(Exception e) {
    e.printStackTrace();
    }
    }
    s.close();//编译器提示的 错误:Unreachable code
    }
    public static void main(String[] args) {
    Test2 t = new Test2();
    t.test();
    }
    }
    3. 编译时警告的代码示例
    //编译时警告
    package scanner_test;

    import java.util.*;

    public class Test3 {
    public void test() {
    Scanner s = new Scanner(System.in);
    //编译器提示的警告:Resource leak: 's' is never closed
    while(true) {
    try {
    System.out.println("str:"+s.nextLine());
    }catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
    public static void main(String[] args) {
    Test3 t = new Test3();
    t.test();
    }
    }
    4. 编译时无错误和警告,运行过程中出现异常的示例代码 
    //编译时无错误和警告,运行过程中出现异常
    package scanner_test;

    import java.util.*;

    public class Test4 {
    public void test() {
    while(true) {
    Scanner s = new Scanner(System.in);
    try {
    System.out.println("str:"+s.nextLine());
    }catch(Exception e) {
    e.printStackTrace();
    }
    s.close();
    }
    }
    public static void main(String[] args) {
    Test4 t = new Test4();
    t.test();
    }
    }
    异常如下:


    --------------------- 

  • 相关阅读:
    U盘安装CentOS 7系统
    生产库中遇到mysql的子查询
    mysql 储存类型自增主键区别
    MySQL主从数据库同步延迟问题解决
    MySQL 加锁处理分析
    120篇精华文章打包送,干货慎入!
    mysql批量删除相同前缀的表和修改表名
    用pt-online-schema-change给大表在线加字段的时候导致从库数据丢失的问题
    【MySQL】online ddl 工具之pt-online-schema-change
    互联网公司为啥不使用mysql分区表?
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10947642.html
Copyright © 2011-2022 走看看