簡體   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