【发布时间】:2021-05-10 06:40:20
【问题描述】:
我即将使用多维数组为禁忌搜索启发式生成一个起始解决方案。 虽然只要程序启动并运行以及计算机就可以了,但我想知道,我该如何存储起始解决方案?
假设我有一个数组 [10][10][10][10]。 由于一种方法,我让程序用随机数填充它们。 现在我想“保存”这些值以备后用。我今天关闭了电脑,明天想继续。我该怎么做?我不知道这种情况的任何代码。由于我必须使用所选的启动解决方案几个月,我不能简单地让我的电脑不间断地运行。
感谢任何帮助,谢谢:)
编辑:我现在得到了一些代码,但是我得到一个错误:“outputFile cannot be resolve”我目前无法修复它。但我认为它应该工作?我在存储多维数组方面找不到任何帮助。
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.io.File;
public class speichern{
public static void main (String args[]) throws FileNotFoundException {
PrintWriter outputfile = new PrintWriter("test.txt");
int [][][]array = new int[10][10][10];
int i = 0;
int j = 0;
int k = 0;
int min = 50;
int max = 100;
//Generate random int value from 50 to 100
System.out.println("Random value in int from "+min+" to "+max+ ":");
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
array[i][j][k] = (int)Math.floor(Math.random()*(max-min+1)+min);
outputFile.println(array[i][j][k]);
}
}
}
outputFile.close();
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
System.out.print(array[i][j][k]+" ");
}
System.out.println("");
}
System.out.println("i ist "+i);
}
System.out.println(array[8][1][3]);
}
}
【问题讨论】:
-
使用某种 CSV 格式存储到文件中。由于您似乎是 Java 新手,因此最好从简单开始,以后再做更高级的事情。检查答案:stackoverflow.com/questions/14226830/…
-
您自己说过:您必须编写以持久方式存储数据的代码。就像,将其保存到文件中。问题是:不要指望我们教你如何做到这一点。有很多不同的方法可以做到这一点。任何关于 Java 的好书都包含关于这个主题的章节。您也可以找到无数讨论此主题的教程。不要指望我们会再次写下这样的事情。
-
要搜索的关键字:“java 写入文本文件”、“java 序列化到文件”、...
标签: java arrays eclipse storage