eine 1 von einem 2d Array subtrahieren

mimix

Aktives Mitglied
Hallo

Wie kann ich von meinem 2D Array eine 1 von der variable x und y abzählen?

Java:
public Haus getPosition(int y, int x) {
      return tür[x][y];
   }

So funktioniert es leider nicht :s
Java:
public Haus getPosition(int y, int x) {
      return tür[x-1][y];
   }

Vielen Dank 😀
 
du willst vom wert des elements an x,y 1 abziehen ?
Java:
tuer[x][y] = tuer[x][y] - 1;

und nutzt lieber keine umlaute in variablen namen

mhm dein tuer array hat Haeuser als elemente ?! das ist verwirrend....

dann eher wohl nicht meine loesung da dies annimmt, dass zahlen im array sind.

was willst du nun genau abziehen ?!
 
Ich möchte die Position von der Tür abziehen.

Das heisst wenn ich Haus.getPosition(6,5); aufrufe, dann sollen die x und y koordinaten um eins verkleinert werden.
 
Ja genau 😀 diese Exception bekomme ich über:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
 
Dann solltest du den Wert im Array verändern
Java:
public Haus getPosition(int y, int x)
{
      if(tuer[x]-1 > 0) //Wert 0 anpassen
      {
            tuer[x] -= 1;
      }

      if(tuer[x][y]-1 > 0) //Wert 0 anpassen
      {
            tuer[x][y] -= 1;
      }
      return tuer[x][y];
}

Bitte die Werte anpassen, je nachdem welche Werte die mindest Werte sind.

Allerdings weis ich grad nicht wie sich dass auf das verschachtelte Array auswirkt, da ich verschachtelte Arrays immer vermeiden möchte.

PS: WIe schon gesagt bitte KEINE Umlaute nutzen.
 
Zuletzt bearbeitet:
> Allerdings weis ich grad nicht wie sich dass auf das verschachtelte Array auswirkt
und trotzdem schreibst du? naja, der Wille zählt

-----

grundsätzlich ist überhaupt nicht klar was die Frage ist,
die Indexe können verändert werden, offensichtlich kompiliert und läuft das Programm,
bei schlechten Index gibt es eine ArrayIndexOutOfBoundsException, aber so ist das Leben,
wie genau lautet die Frage?

> Das heisst wenn ich Haus.getPosition(6,5); aufrufe, dann sollen die x und y koordinaten um eins verkleinert werden.

warum sollte die Sonne scheinen wenn man eine Schublade öffnet?
programmiere das was du brauchst in sauberen Befehlen hin, erwarte keine Automatismen,
bei lokalen Variablen/ Parametern ist nach dem Zugriff übrigens ziemlich egal ob sie noch ihren Wert ändern
 
Zuletzt bearbeitet von einem Moderator:
er hat keine ints im array...

ruf doch statt Haus.getPosition(6,5) -> Haus.getPosition(5,4) auf ?!

dennoch ein sehr komische sache.

die Position eines Haus ist wieder ein Haus, gespeichert ist diese in einem array namens tuer....
 
> eine 1 von einem 2D Array abzuzählen.
ist wiederum sehr unklar ausgedrückt, insofern unterliegst du vielleicht mit 'das es so viel braucht', was immer du damit aus diesem Thread hier meinst, einer Täuschung,

wenn du genauer dein Problem und deine Interpretation der Antworten beschreiben würdest,
könnte da vielleicht manches korrigiert werden, falls irgendwie wichtig
 

Neue Themen


Zurück
Oben