carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.892 User online
2 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 956 von 2963 (32%) |<   <   >   >|

Autor DeaconFrost
Datum 02.11.05, 10:20
Betreff Re: Arrays - Test. Was ist los?


Hallo Alex,

Zur besseren Referenz habe ich die Zeilen deines Programms numeriert.

int c = 16;
1 int d[];
2 int e=0;
3 while(c<100)
4 {c=c*2-10;
5 d = new int [e];
6 d[e]=c;
7 e=e+1; }
8 for(int i=0;i<d.length;i++)
9 {System.out.println(d[i-1]);}

In Zeile 1 wird d zwar deklariert, aber nicht initialisiert. In Java darf die Initialisierung zwar verschoben werden, muss aber zwingend irgendwann später erfolgen (da ist der Compiler strikt).
Die Fehlermeldung kommt deswegen, weil die Initialisierung nur in Zeile 5 erfolgt. Zeile 5 kann aber möglicherweise nie ausgeführt werden und zwar wenn in Zeile 3 c >= 100 ist.
Ich sehe im Übrigen noch ein Problem in diesem Programm:
In Zeile 5 wird der Array mit Länge e initialisiert (beim ersten Mal mit Länge 0, also ein leerer Array der keine Daten aufnehmen kann).
Zeile 6 wird daraufhin aber sofort eine Exception zur Laufzeit werfen, weil auf einen illegalen Index zugegriffen wird (Indizes gehen immer von 0 bis Länge-1, e ist daher ein illegaler Index).
Ich hoffe, das hilft dir.

LG,

Deacon Frost




Diskussionsverlauf:
Arrays - Test. Was ist los?
    Re: Arrays - Test. Was ist los?
        Re: Arrays - Test. Was ist los?
            Re: Arrays - Test. Was ist los?

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com