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


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

  • 相关阅读:
    c++,模板函数的定义和使用【初探】
    c++,内联成员函数
    C++,对象成员的访问
    c++,public/protected/private权限修饰符
    c++,static 静态成员变量 / 静态成员函数
    C++,对象的 =赋值 以及 复制构造函数赋值
    Android 的提权(root)原理【转】
    高通LCD的pwm背光驱动
    IP地址的分类——a,b,c 类是如何划分的【转】
    Android分区
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10947642.html
Copyright © 2011-2022 走看看