为了账号安全,请及时绑定邮箱和手机立即绑定

在循环中进行输入时,如何关闭扫描仪对象?

在循环中进行输入时,如何关闭扫描仪对象?

慕勒3428872 2021-04-17 12:40:16
我正在使用while循环从控制台获取输入,并调用我的input()方法。但是,当我尝试关闭扫描仪对象时,它会给出运行时错误。当对象未关闭时,程序会正确运行,但日食会警告说资源泄漏:'s'永远不会关闭。如何解决?我的输入代码是    String input()    {        try        {            Scanner s = new Scanner(System.in);            String str=s.nextLine();            s.close(); // error because of this             return str;         }public class validation  {    public static void main(String args[])    {    try        {            String name;            String email_id;            String number;            validation v= new validation();            do{            System.out.println("Enter the name");            name=v.input();            }            while (!(v.validate_name(name)) );            do{                System.out.println("Enter valid Mobile Number");                number=v.input();            }            while(!(v.validate_number(Long.parseLong(number))) || !(v.filevalidate(number)));            do{            System.out.println("Enter valid Email_id");            email_id=v.input();            }            while(!(v.validate_email(email_id)) || !(v.filevalidate(email_id)));            v.writeToFile(name,number,email_id);        }               catch(Exception e){System.out.println(e);}错误输出为输入名称Justin输入有效的手机号码java.util.NoSuchElementException:找不到行java.lang.NumberFormatException:null
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信