Daten in Datenbank

	ArrayList<Ret> lis = /*...*/;
	// ...

class Lis {

	long id;
	String name, cat;
	long station_id;
	short com_id;
	int buy_price, supply, sell_price, demand;
	long updated;

	@Override
	public String toString() {
		return "Lis{" + "id=" + id + ", name=" + name + ", cat=" + cat + ", station_id=" + station_id + ", com_id="
				+ com_id + ", buy_price=" + buy_price + ", supply=" + supply + ", sell_price=" + sell_price
				+ ", demand=" + demand + ", updated=" + Main.getHours(updated) + "h}";
	}

}

class Ret {
	Lis[] lises;
	boolean isPlanetary = false;
	int profit1 = 0;
	float profit2 = 0;
	int maxDis1 = 0;
	int minDisToSol = Integer.MAX_VALUE;

	public Ret(Lis[] l, Data data) {
		this.lises = l;
		for (int i = 0; i < lises.length - 1; i += 2) {
			Sta sa1 = data.stations.get(l[i + 0].station_id);
			Sta sa2 = data.stations.get(l[i + 1].station_id);
			Sys sy1 = data.systems.get(sa1.system_id);
			Sys sy2 = data.systems.get(sa2.system_id);
			if (sa1.isPlanetary || sa2.isPlanetary)
				isPlanetary = true;
			profit1 += l[i + 1].sell_price - l[i + 0].buy_price;
			if (maxDis1 < data.getDis(sy1, sy2))
				maxDis1 = (int) data.getDis(sy1, sy2);
			if (minDisToSol > data.getDisToSol(sy1))
				minDisToSol = (int) data.getDisToSol(sy1);
			if (minDisToSol > data.getDisToSol(sy2))
				minDisToSol = (int) data.getDisToSol(sy2);
		}
		profit2 = profit1 / (lises.length / 2);
	}

	public String getString(boolean noPlanets, boolean hideDetails, int maxDis, Data data) {
		if (noPlanets && isPlanetary)
			return "";
		if (maxDis < maxDis1)
			return "";
		StringJoiner j = new StringJoiner("\n");
		for (int i = 0; i < lises.length - 1; i += 2) {
			Lis[] l = lises;
			Sta sa1 = data.stations.get(l[i + 0].station_id);
			Sta sa2 = data.stations.get(l[i + 1].station_id);
			Sys sy1 = data.systems.get(sa1.system_id);
			Sys sy2 = data.systems.get(sa2.system_id);
			if (!hideDetails) {
				j.add(sy1.toString());
				j.add(sa1.toString());
				j.add(l[i + 0].toString());
				j.add(sy2.toString());
				j.add(sa2.toString());
				j.add(l[i + 1].toString());
			}
			j.add(sy1.name + "/" + sa1.name + "/" + l[i + 0].name + "/" + l[i + 0].buy_price + " -> " + sy2.name + "/"
					+ sa2.name + "/" + l[i + 1].name + "/" + l[i + 1].buy_price + " ("
					+ (l[i + 1].sell_price - l[i + 0].buy_price) + ")");
		}
		j.add("Pro1: " + profit1 + " - Pro2: " + profit2 + " - maxDis1: " + maxDis1 + " - minDisToSol: "
				+ minDisToSol + " - planets: " + isPlanetary);
		return j.toString();
	}
}

Wie kann ich lis/Ret am einfachsten persistentieren? Leider hab ich mir da vorher keine Gedanken zu gemacht… Wünschenswerte wäre ein SQLite-File.

Ich nehme an, dass das was du da “geschrieben” hast Java sein soll.

Dann wäre das wohl das richtige. Sag Bescheid, wenn du Fragen dazu hast.

https://www.google.com/search?client=firefox-b-d&channel=crow&q=java+sqlite+example

Ja, hab ich. Wie geht das?

Naja, ich formuliere mal so: Sag Bescheid, wenn du an einer konstruktiven Lösung interessiert bist.

Ich möchte den Beitrag den Moderatoren melden, er ist unsachlich und trägt nicht zur Lösung des Problems bei.

1 Like

wo es schräg anfängt, da werden auch die Antworten nicht optimal, aber verständlich,

gerade alte Bekannte wie Marcinek am besten just überhaupt nicht bei CB antworten, auch wenn wie so häufig dann Themen leer bleiben

solange CB hier rumtrollt, ist es halt eine Belastung fürs Forum…

2 Likes

Bei diesem trotzigen und passiven Umgang hier ist es Zeitverschwendung, eine Frage zu stellen… So ist mittlerweile mein Eindruck.

Ab hier kann es nur noch OT werden. Selbst wenn nicht, da hier null Initiative zu erkennen ist gepaart mit Code den jeder Generator besser erstellen wĂĽrde sehr ich mich gezwungen dicht zu machen.

Ich hab dir schon so oft Tips zu Codequalität gegeben und Marcinek hat dir einen Link geschickt und Hilfe bei konkreten fragen angeboten. Du kannst keine fertige Lösung erwarten - erst Recht nicht bei dem Code. Da du nicht empfänglich für Hilfe bist ist das noch ein Grund mehr das hier dicht zu machen.

3 Likes