Java 我需要键盘吗。关闭();让代码正常工作?

Java 我需要键盘吗。关闭();让代码正常工作?,java,Java,扫描仪本身不是要关闭的资源。如果您在中传递了System.in,则不需要关闭它,如果您传递了与文件、网络资源等相关联的一些InputStream,则需要关闭它。相应地,重新打开已关闭的扫描仪将不起作用,因为流已直接关闭。您是否已尝试运行此代码?使用扫描仪.close()防止内存泄漏始终是一种良好的做法。添加它会使代码正常工作吗?@Victor Polo De Gyves Montero我试过运行它,但没有成功,需要帮助才能正常工作。@tgdavies没有它改变了什么。你能识别并纠正程序中提示用户

扫描仪
本身不是要关闭的资源。如果您在中传递了
System.in,则不需要关闭它,如果您传递了与文件、网络资源等相关联的一些
InputStream
,则需要关闭它。相应地,重新打开已关闭的
扫描仪将不起作用,因为流已直接关闭。

您是否已尝试运行此代码?使用
扫描仪.close()
防止内存泄漏始终是一种良好的做法。添加它会使代码正常工作吗?@Victor Polo De Gyves Montero我试过运行它,但没有成功,需要帮助才能正常工作。@tgdavies没有它改变了什么。你能识别并纠正程序中提示用户年龄的错误,然后尝试计算用户出生的年份。要解决此问题,需要确定当前日期
LocalDate.now()
,然后获取当前年份
import java.util.scanner;

public class assign {
    public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);
        final int YEAR;
        int age, bornIn;
        System.out.print("How old are you this year? ");
        age =  keyboard.nextDouble();
        bornIn = YEAR - age;
        System.out.println("I think you were born in " + BornIn);
    }
}