Hallo an alle,
mit der Methode
Aufgabenstellung:
- vor der Abfrage soll die Tagesanzahl des jeweiligen Monats ermittelt werden.
Nun wollte ich es etwas austesten:
Warum bekomme ich hier eine Fehlermeldung?
Irgendwie stehe ich auf dem Schlauch.
mit der Methode
length
kann die Länge eines Strings oder Arrays ermittelt werden. Nun bin ich gerade bei einer Aufgabe angekommen, welches die Länge eines Arrays ausliest. Aufgabenstellung:
- vor der Abfrage soll die Tagesanzahl des jeweiligen Monats ermittelt werden.
Java:
abfrageTag(); //Infomeldung
tag = scanner.nextInt();
tag -= 1;
monatsTage = kalender[jahr][monat].length; /** Hier funktioniert es */
if(tag < 0 || tag > monatsTage)
{
falscheEingabe();
break;
}
Nun wollte ich es etwas austesten:
Java:
package testarray;
public class TestArray
{
final static int JAHR = 10;
final static int MONAT = 12;
final static int TAG = 31;
final static int STUNDE = 24;
public static void main(String[] args)
{
int[][][][] kalender = new int[JAHR][MONAT][TAG][STUNDE];
for(int [][][] jahr : kalender)
{
for(int [][] monat : jahr)
{
for(int[] tag : monat)
{
for(int stunde = 0; stunde < tag.length; stunde++){
System.out.print(stunde);
}
System.out.println();
}
System.out.println();
}
System.out.println();
}
int jahr = kalender.length; //10
int monat = kalender[JAHR].length;//12 /** Zeile: Nr. 33 */
int tag = kalender[JAHR][MONAT].length;//31
int zeit = kalender[JAHR][MONAT][TAG].length;//24
System.out.println("Jahr: " + jahr + " Monat: " + monat + " Tag: " + tag + " Zeit: " + zeit);
}
}
/** Fehlermeldung */
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at testarray.TestArray.main(TestArray.java:33)
C:\Users\EndeJuli2017\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
Irgendwie stehe ich auf dem Schlauch.