verwendet ich versuche, ein Programm zu erstellen, das den optimalen Standort gibt ein Krankenhaus, unter Verwendung der Formel d = ((x zu platzieren - x) + (y - y)) 0,5. Die optimalen Standorte befinden sich in den grünen Kreisen mit den folgenden Koordinaten (11,8), (9,9), (9,19) und (13,13).ein Array als Karte JAVA
Hier ist der Code, den ich bisher habe:
public class hospitalBuilderProgram
{
public static void main(String[] args)
{
byte[][][] maps = {
{{2, 2}, {2, 8}, {5, 15}, {19, 1}, {17, 17}},
{{1, 1}, {7, 19}, {13, 19}, {19, 7}, {19, 13}},
{{0, 19}, {2, 19}, {4, 19}, {6, 19}, {18, 19}},
{{7, 19}, {13, 19}, {19, 19}, {19, 13}, {19, 7}}
};
for (int row = 1; row <= 19; row++) {
for (int col = 1; col <= 19; col++) {
int d1 = (((x1 - row)^2 + (y1 - col)^2));
int d2 = ((x2 - row)^2 + (y2 - col)^2);
int d3 = ((x3 - row)^2 + (y3 - col)^2);
int d4 = ((x4 - row)^2 + (y4 - col)^2);
int d5 = ((x5 - row)^2 + (y5 - col)^2);
if (d1 == d2 == d3 == d4 == d5)
return (row, col);
}
}
}
}
ich meinen Code versuche entsprechend zu beheben, aber ich bin nicht sicher, wie es weitergeht.
Ich denke, Sie wollen 'maps [row] [col] [0]' und 'maps [row] [col] [1]' statt den Index des Arrays ab '(x1-row)^2 zu bearbeiten + (y1-col) '. Außerdem gibt es keine Variablen 'x1' oder' y1', die irgendwo definiert sind. – SomeJavaGuy
Warum beginnt Ihre Zeile und Spalte mit '1' anstelle von' 0'? Wo sind Ihre 'x1..x5' und' y1..y5' –
Wo sind x .. und y ... definiert? – Jens