Hi,
ich möchte gerne zwei Int Werte gleichzeitig immer in ein mehrdimensionales Array speichern, z.B. sollte das Array [0][0] gleich zwei Werte ausgeben, also z.B. 1 1
Ist das so überhaupt möglich? Ich habe dazu nicht besonders viel bisher bei der Recherche gefunden.
Falls ja, wo liegt mein Fehler, immer wenn ich untenstehende Methode ausführe, bekomme ich ein
java.lang.ArrayIndexOutOfBoundsException: 5
at Rectangle.getpositionOfCoordinates(Rectangle.java:89)
Falls nein, wie realisiere ich es, dass ich gleichzeitig X- und Y Koordinate von zwei Rechtecken überprüfe.
Also die konkrete Aufgabenstellung ist, dass ich überprüfen muss, ob sich zwei Rechtecke berühren, bzw. ineinander liegen.
ich weiß zwar, dass es wesentlich einfacher geht in diesem Fall, aber ich wollte eben mal das mehrdimensionale Array verwenden und eben auch die oben genannten Fragen beantwortet haben.
Eine einfachere Lösung von mir ist z.B.:
ich möchte gerne zwei Int Werte gleichzeitig immer in ein mehrdimensionales Array speichern, z.B. sollte das Array [0][0] gleich zwei Werte ausgeben, also z.B. 1 1
Ist das so überhaupt möglich? Ich habe dazu nicht besonders viel bisher bei der Recherche gefunden.
Falls ja, wo liegt mein Fehler, immer wenn ich untenstehende Methode ausführe, bekomme ich ein
java.lang.ArrayIndexOutOfBoundsException: 5
at Rectangle.getpositionOfCoordinates(Rectangle.java:89)
Falls nein, wie realisiere ich es, dass ich gleichzeitig X- und Y Koordinate von zwei Rechtecken überprüfe.
Also die konkrete Aufgabenstellung ist, dass ich überprüfen muss, ob sich zwei Rechtecke berühren, bzw. ineinander liegen.
Java:
public int [][] getpositionOfCoordinates(){ //Gibt an wo sich die einzelnen Koordinaten vom Rechteck befinden
coordinatePositions = new int [heightRectangle][widthRectangle];
int currentYCoordinate;
for(int i=0;i<widthRectangle;i++){
currentYCoordinate = yCoordinateBottom + i;
for(int j=0;j<heightRectangle;j++){
coordinatePositions[i][j] = coordinatePositions [currentYCoordinate][xCoordinateLeft + j];
}
}
System.out.println(coordinatePositions[2][2]); //nur testweise mit dem Array[2][2]
return coordinatePositions;
ich weiß zwar, dass es wesentlich einfacher geht in diesem Fall, aber ich wollte eben mal das mehrdimensionale Array verwenden und eben auch die oben genannten Fragen beantwortet haben.
Eine einfachere Lösung von mir ist z.B.:
Java:
public boolean isDisjoint(Rectangle r){
boolean isDisjoint = false;
if((isContained(r)==false) && ((r.getLeft() > getRight()) || (r.getRight() < getLeft()) || (r.getBottom() > getTop()) || (r.getTop() < getBottom()))){
isDisjoint = true;
}
else{
isDisjoint = false;
}
return isDisjoint;
Zuletzt bearbeitet: