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();
    }
    }
    异常如下:


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

  • 相关阅读:
    RSA加密解密算法
    PHP Request请求封装
    Mysql常用命令大全 sql
    [mysql] 修复问题表Table '.xxxx' is marked as crashed and should be repaired
    Allowed memory size of 134217728 bytes exhausted
    PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
    windows 2012 如何设置取消禁拼ping
    Access提示Insert Into 语法错误解决办法总结
    Linux常用命令大全
    [转]临时表空间学习
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10947642.html
Copyright © 2011-2022 走看看