繁体   English   中英

我的程序是否可以永久保存变量而不在每次程序终止时重置它的值?

[英]Can my program save a variable permanently without resetting it's value everytime the program terminates?

这应该很容易吧? 我正在编写一个允许用户使用 input.nextInt () 更新整数值的程序,但是该变量的生命周期随着程序的结束而终止,有没有办法永久保存该变量以便我可以在下一次使用它我运行程序的时间? 这是一个场景,用户通过 input.nextInt() 被提示输入一个值,他输入存储在 num1 中的 68,下次我运行程序时我想从 num1 开始,其值为 68(用户之前输入),这可能吗? 如何?

当程序结束时,程序使用的所有对象都将被销毁。 您必须将该值写入外部文件(例如文本文件或数据库),然后在程序再次启动时读取。

程序正在计算机 RAM 上运行。 如果你想保存数据,你必须将它写入磁盘,这取决于你的环境,正确的方法是什么(数据库、文件等)

num1 的值必须保存到数据存储中,例如配置文件或数据库。 在您的用户通过 input.nextInt() 输入一个值后,该值应该被捕获并保存到数据存储中。 当您的应用程序再次启动时,它应该从数据存储中检索 num1 的值并将其分配给该变量。

System.exit(); 之后一切都被销毁; 叫做。 所以你需要在外部保存你想保存的任何东西的初始值。 为此,您可以查看例如。 Java文件流如:对象序列化。

就像其他人所说的那样,您的应用程序在内存中运行,当它终止时,内存会被清理并且数据会丢失。

您要做的事情称为“持久化”数据,您可以通过多种方式做到这一点。 如前所述,您可以使用文件和数据库之类的东西来执行此操作。

根据您的应用程序和您要存储的数据,您可能需要使用不同复杂度的系统 - 例如,如果您正在制作其他人会运行的游戏,您需要确保它存储在不会被触及的地方,例如您的其他游戏文件。 但是,如果您只是想为您自己运行的应用程序存储数据,您可以简单地将数据写入任何地方的文件,然后在应用程序开始时再次读取它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM