D 
		
				
			
		Destiny1985
Gast
Ich habe einen kleinen, einfachen Terminkalender geschrieben:
	
	
	
	
	
		
	
er lässt sich wunderbar ausführe und so...aber wenn ich mir eingetragene Termine anzeigen lasse, bekomme ich noch die Meldung:
	
	
	
	
	
		
	
ok, irgendein feld läuft quasi über...aber wo ? ich find den fehler nicht :<
das programm wird bei euch wohl nicht laufen, da ich die Klasse IOTools nutze um Eingaben zu vereinfachen...die findet ihr im Paket Prog1Tools auf der Seite www.grundkurs-java.de...
mfg
			
			
		Code:
	
	/**
 * Ein Terminkalender
 * Funktioniert für ein ganzes Jahr
 *
 * @author Christopher Koch
 * @date 2005-01-14
 * @version 1.3
 */
import Prog1Tools.IOTools;
public class Terminkalender3
{
  public static void main (String args[])
  {
    String[][][] termine;
    termine = new String[12][][];
    termine[0] = new String[31][24];
    termine[1] = new String[28][24];
    termine[2] = new String[31][24];
    termine[3] = new String[30][24];
    termine[4] = new String[31][24];
    termine[5] = new String[30][24];
    termine[6] = new String[31][24];
    termine[7] = new String[31][24];
    termine[8] = new String[30][24];
    termine[9] = new String[31][24];
    termine[10] = new String[30][24];
    termine[11] = new String[31][24];
    for (int i = 0; i < termine.length; i++)
      for (int j = 0; j < termine[i].length; j++)
        for (int k = 0; k < termine[i][j].length; k++)
          termine[i][j][k] = "";
          
    boolean fertig = false;
    
    while (!fertig)
    {
      System.out.println("\n1 - Neuer Eintrag");
      System.out.println("2 - Termine anzeigen");
      System.out.println("3 - Programm beenden");
      int auswahl = IOTools.readInteger("\nIhre Wahl: ");
      
      switch (auswahl)
      {
        case 1:
        {
          int monat = IOTools.readInteger("\nMonat: ");
          if (monat < 1 || monat > 12)
          {
            System.out.println("\nEingabefehler!");
            break;
          }
          int tag = IOTools.readInteger("\nTag: ");
          if (tag < 1 || tag > 31)
          {
            System.out.println("\nEingabefehler!");
            break;
          }
          int zeit = IOTools.readInteger("\nUhrzeit: ");
          if (zeit < 0 || zeit > 23)
          {
            System.out.println("\nEingabefehler");
            break;
          }
          String eingabe = IOTools.readLine("\nTermin: ");
          termine[monat-1][tag-1][zeit] = eingabe;
          break;
        }
        case 2:
        {
         int m = IOTools.readInteger("\nMonat: ");
          if (m < 1 || m > 12)
          {
            System.out.println("\nEingabefehler");
            break;
          }
         int t = IOTools.readInteger("\nTag: ");
          if (t < 1 || t > 31)
          {
            System.out.println("\nEingabefehler");
            break;
          }
          for (int i = 0; i < termine[m-1].length; i++)
            for (int j = 0; j < termine[m-1][t-1].length; j++)
            {
              System.out.println(i + " Uhr: " + termine[m-1][t-1][i]);
              break;
            }
        }
        case 3:
        {
          fertig = true;
          break;
        }
        default:
        {
          System.out.println("Eingabefehler");
        }
      }
    }
  }
}
	er lässt sich wunderbar ausführe und so...aber wenn ich mir eingetragene Termine anzeigen lasse, bekomme ich noch die Meldung:
		Code:
	
	Exception in thread "main"  java.lang.ArrayIndexOutOfBoundsException: 24
            at Terminkalender3.main(Terminkalender3.java:90)
	ok, irgendein feld läuft quasi über...aber wo ? ich find den fehler nicht :<
das programm wird bei euch wohl nicht laufen, da ich die Klasse IOTools nutze um Eingaben zu vereinfachen...die findet ihr im Paket Prog1Tools auf der Seite www.grundkurs-java.de...
mfg