4 dimensonalen Array letzetes element mit 0 initialisieren ?



  • Habe 4 dimensonalen Array

    double qm [] [] [] [] = new double [9] [6] [3] [4];
    

    Hier die frage
    Falls eine Wohnung weniger als 4 Zimmer hat, wird die Quadratmeterzahl des fehlenden Zimmers auf 0 gesetzt. Ist es erforderlich das Array vor der Zuweisung der vorhandenen Zimmer mit 0 zu initialisieren ?



  • wenn ich erhlich bin verstehe ich die frage nicht 😕



  • normalerweise sollten alle variablen mit 0 definiert sein bei einem int array
    dies ist definiert in der spec von java
    so wie alle referenzen (also wenn du ein array auf objekte machst) null sind



  • irgendwie hab ich die verrückte Idee dass du der Meinung wärst mit:
    double qm [] [] [] [] = new double [9] [6] [3] [4];

    ein Feld qm zu haben das vier double Werte besitzt
    die du mit double[][][][] abfragen könntest..

    Falls ich recht hab hab ich ne schlechte Nachricht für dich -> Denkfehler^2

    public class qm{
    private double[] zimmer_qm = {9,6,3,4};

    public double getqmAt(int i){
    return zimmer_qm[i];
    }
    }

    wär dann dass was du suchst



  • Ich denke er brauch mehr sowas:

    class Wohnung {
      private int zimmer1;
      ... 
      private int zimmer4;
      ...
    };
    
    class Wohnungen {
      private Wohnung[] wohnungen;
      ...
    };
    


  • Irgendwie is ein 4dim Array ziemlich mieser Programmierstil !
    Kann mir nicht vorstellen, dass man sowas jemals brauchen könnte (mal abgesehen von 3D Programmierung)



  • Vielleicht will er Zugriff auf jeden Quadratmeter haben... :-))



  • ...und selbst dann würden zwei Dimensionen reichen *klugscheiss* 😃



  • Schliesse mich Jockelx an. Definiere eine Klasse, die als Arraymember die verschiedenen Quardatmetergrößen beseitzt. Die Zimmerzahl sowie ein int-Array, der die verschienden qm der Zimmer enthält, übergibst du im Konstruktor und kannst daraufhin initialisieren. Dann könnte eine Wohnung auch 10 Zimmer oder nur 1 Zimmer haben.

    class Wohnung {
    int[] qm;

    public Wohnung(int zimmerZahl, int[] qm) {
    this.qm = new int[zimmerZahl];
    for(int i=0; i<this.qm.length; ++i) {
    this.qm[i] = qm[i];
    }
    }
    }


Anmelden zum Antworten