Je zei dat het probleem bij het gemiddelde van de temperaturen lag ?
Want je toont de code van de dagen.
maxdevis zei:
wat is het verschil tussen deze twee?
Wel, je declareert nu op voorhand al plaats voor 4 tijdsmetingen op elke dag.
Maar je zegt dat ze niet alle 4 hoeven in te vullen.
Hoe werkt dat precies ?
Vraag je nog aan de gebruiker hoeveel tijdsmetingen er zijn of niet ?
En verplicht je hem om die tijdsmetingen op te geven of hoe vraag je die ?
Met mijn post hierboven bedoelde ik het volgt.
Als er verplicht 4 tijdsmetingen per dag moeten opgegeven worden, dan kun je dat op voorhand declareren.
Wanneer het bv zo is, dat je nog aan de gebruiker een combobox vraagt met hoeveel tijdsmetingen er zijn voor een bepaalde dag (van 0 tot 4 bv), dan hoef je dat op voorhand niet te declareren.
Een 2d array is namelijk gewoon een array van arrays.
Dan kun je een als volgt een array aanmaken.
private int[][] gegevensarray = new int[this.dagenMaand][];
zonder dus een tweede waarde mee te geven van lengte van die 2D array.
Wanneer uw dagenMaand = 31 bv, dan betekent dit dat je in uw array plaats hebt voor 31 arrays van int.
Dus dan gewoon bekijken als een 1dimensionale array van andere arrays
En wanneer je dan het aantal dagen vraagt van bv de 5dag en dit blijkt 3 te zijn, maak je een 1dimensionale array aan van lenge 3 en steek je die in deze tabel.
int[] tijdsmetingen = new int[resultaat];
En dan bv gegevensarray[4] = tijdsmetingen.
Ik weet niet of je de uitleg wat snapt

Dan heb je namelijk geen evenlange arrays.
Bv kun je op dag 5 een array hebben van lengte 3, maar op dag 7 één van lengte 4.
Nu kom, ik weet niet ofdat van toepassing is voor uw programma, aangezien de gebruiker dan per dag telkens opgeeft hoeveel tijdsmetingen er zijn.
Mss toch eens de code tonen hoe gebruikers die tijdsmetingen opgeven.
Je hebt een 2d array van ints en je declareert op voorhand.
Dus uw lengte is zoiezo niet 0, je deelt dus ook nooit door 0.
Normaal, wanneer je geen waarde opgeeft aan een element in die array, zal dit gewoon 0 zijn.
Nog zoiets waar je mee moet opletten, want als de gebruiker 2 waarden zou opgeven, dan zijn de eerste twee slechts ingevuld en zouden uw laatste 2 waarde 0 hebben en klopt uw gemiddelde niet.
Dus ik zie ook niet direct hoe je aan die NaN komt. Uw methode retourneert mss 'null', maar ik denk niet dat je een 'null' in een int kunt steken (aangezien de 'null' bij int een 0 is)