Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在第一次执行后替换变量值_Java_Variables - Fatal编程技术网

Java在第一次执行后替换变量值

Java在第一次执行后替换变量值,java,variables,Java,Variables,有人知道在程序更改变量值后如何替换它吗?我以前尝试过静态变量,但在关闭程序后它不会保存 比如说 import java.lang.Math; public class Main { static int A1; public static void main (String [] args) { A1=(int) (1+Math.random()*10); } } 假设程序第一次运行时,A1的值为5。下一次运行程序时,A1是否仍保留值5而不是0?(到达

有人知道在程序更改变量值后如何替换它吗?我以前尝试过静态变量,但在关闭程序后它不会保存

比如说

import java.lang.Math;

public class Main {

  static int A1;

  public static void main (String [] args) {

    A1=(int) (1+Math.random()*10); 
  }      
}
假设程序第一次运行时,A1的值为5。下一次运行程序时,A1是否仍保留值5而不是0?(到达主方法之前)


谢谢

当然不是,当程序退出时,它使用的内存部分将被释放给其他程序。唯一的方法是写入文件,并在程序初始化时从文件中恢复值。

当然不是,当程序退出它所使用的内存部分时,其他程序将被释放。唯一的方法是写入文件,并在程序初始化时从文件中恢复值。

在Java中,最简单的方法是使用Preferences API,最简单的方法是

prefs = Preferences.userRoot().node(this.getClass().getName());
String ID = "A1";
if (prefs.getInt(ID, -1)
    prefs.putInt(ID, (int) (1+Math.random()*10));
A1 = prefs.getInt(ID, -1)

要获得更多信息,只需谷歌“java首选项api”

在java中最容易做到的是使用首选项api,最简单的方法是

prefs = Preferences.userRoot().node(this.getClass().getName());
String ID = "A1";
if (prefs.getInt(ID, -1)
    prefs.putInt(ID, (int) (1+Math.random()*10));
A1 = prefs.getInt(ID, -1)

要获得更多信息,只需使用谷歌“java首选项api”

,或者如果要保存的数据量较小,请查看。如果要保存的数据量较小,请查看。写入文件不是唯一的方法。还有其他保存数据的方法。@GriffeyDog like?任何永久资源最终都是一个文件。如果您想到的是DB或类似的东西,它仍然是一个文件(或多个文件)。我可以说这是最好的方法,因为我不认为OP需要比仅仅一个文件更复杂的东西,但我认为没有歧义,写入文件不是唯一的方法。还有其他保存数据的方法。@GriffeyDog like?任何永久资源最终都是一个文件。如果您想到的是DB或类似的东西,它仍然是一个文件(或多个文件)。我可以说这是最好的方法,因为我不认为OP需要比仅仅一个文件更复杂的东西,但我认为这是没有歧义的