Wert an Feld übergeben?

Status
Nicht offen für weitere Antworten.

hemmoleg

Mitglied
Moin!

Ich bin ein totaler noob was Java betrifft und hab deswegen auch 2 ganz einfach fragen:
Ich hab folgenden code:
Code:
public class feldfüllen 
{
	public static void main(String[] args)
	{
		int feld[]=new int [7];
		for(int i=0; i<9; i++)
		{
			feld[i]=i;
		}
	}

}
Das Problem ist Wenn ich die ganze Sache ausführen kommt folgender Fehler:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at feldfüllen.main(feldtest.java:8)
Igendwie hab ich so ein Gefühl das mir sagt das da mit der Feldinitialisierung was nich in Ordnung is. Ich sollt wohl auch noch erwähnen das ich als SDK Eclipse 3.2.1 verwende.

Meine zweite frage is: Was bedeutet eigentlich das "final" vor der initialisierung von Variablen?
 

Marcel_Handball

Bekanntes Mitglied
du versuchst ein feld zu füllen das es gar nicht gibt

Code:
public class feldfüllen
{
   public static void main(String[] args)
   {
      int feld[]=new int [7];
      for(int i=0; i<feld.length; i++)
      {
         feld[i]=i;
      }
   }

}

Da nämlich der Index des Arrays bei 0 anfangt, geht er auch nur bis 6, du versuchst aber auf das 8te Feld zuzugreifen
 

EOB

Top Contributor
hi, die exception kommt, da dein array nur 7 elemente hat, du aber auf 9 zugreifst...2 zu viel. final bedeutet, dass die variable einmal einen wert zugewiesen bekomm und dann geht das nicht mehr. schau dir für solcher grundsatzfragen mal das inselbuch an.

grüße
 

EOB

Top Contributor
es war doch richtig...du hast nur auf elemente geschaut, dies nicht gibt...siehe code vom andern schreiberling...der sollte funzen! ausserdem schreibt man javaklassen stets mit großen Buchstaben vorn....also FeldFuellen. ist kein muss, aber ne empfehlung :).

Code:
public class FeldFuellen{

    public static void main(String[] args){
      
        int feld[]=new int [7];
        for(int i=0; i<feld.length; i++){
            feld[i]=i;
        }
    }
} // --> so ists java getreu:-)

grüße
 

hemmoleg

Mitglied
Ach so ein mist, da hätte ich auch selber drauf kommen können.
Also erstma danke, vor allem für die sehr schnellen antworten!
Aber wie kann ich dann ein feld ohne vergegebene länge initialisieren? Oder geht das gar nicht?
 

EOB

Top Contributor
hi, ein array ist immer mit vorgegebener länge. wenn das zur laufzeit änderbar sein soll, wäre eine liste.

Code:
List list = new ArrayList();
list.add("hallo");

oder um dein beispiel mal mit ner liste zu machen:

Code:
public class FeldFuellen{

    public static void main(String[] args){
      
        List list = new ArrayList();
        for(int i=0; i<list.size(); i++){
           list.add(i, i); //--> mit java 5 wegen autoboxing
           //list.add(i, new Integer(i)) // --> unter java 5, da kein autoboxing
        }
    }
}

grüße
 

EOB

Top Contributor
jep, genau...

Code:
import java.util.*;

public class FeldFuellen{

    public static void main(String[] args){
      
        List list = new ArrayList();
        for(int i=0; i<list.size(); i++){
           list.add(i, i); //--> mit java 5 wegen autoboxing
           //list.add(i, new Integer(i)) // --> unter java 5, da kein autoboxing
        }
    }
}
 
G

Guest

Gast
hemmoleg hat gesagt.:
dankschön jetz funzts!
aber wie lass ich mir dann die element der liste ausgeben?

In einer Schleife. Kannst dir die Größe einer liste holen mit List#size().

Bsp.:

Code:
for (int i = 0; i < list.size(); i++) {
   list.get(i);
}

So kannst du auf jedes Element der Liste zugreifen. Musst nur aufpassen, da dir List dann ein Objekt vom Typ Object zurück gibt, dass du ggf. dann casten oder umwandeln musst in den Datentyp, den du brauchst bzw. drin gespeichert hast.

Ab Java 5 kann man sowas dann auch schon beim Anlegen definieren

Code:
List<String> list = new Vector<String>();

Korrigiert mich bitte wenn die Schreibeweise falsch ist, aber ich arbeite hier noch mit 1.4.2 und kann das
daher bei mir nicht auf Richtigkeit prüfen.
 
G

Guest

Gast
ja ok, aber das is doch doof das ich zweimal sagen muss das die Liste vom Typ String sein soll.
Andere Frage: Warum kann ich den Rückgabewert von list.get() an eine char-Variable übergeben, denn get() gibt doch ein Object zurück.
 
G

Guest

Gast
Anonymous hat gesagt.:
ja ok, aber das is doch doof das ich zweimal sagen muss das die Liste vom Typ String sein soll.
Andere Frage: Warum kann ich den Rückgabewert von list.get() an eine char-Variable übergeben, denn get() gibt doch ein Object zurück.

Das ist nicht doof, sondern das ist so und ist ein "Feature" das sich "Generics" nennt.

Weil ich weiss ja nicht was "doofer" ist, jedes mal:

Code:
String s = list.get(n).toString();

oder einmal beim Erstellen

Code:
List<String> list = new ArrayList<String>();

zu schreiben und danach mit:

Code:
String s = list.get(n);

zugreifen zu können.

Da das ganze ja nicht nur mit Strings geht, sondern auch mit beliebigen anderen Typen (die man evtl. sogar Casten müsste) ist das ganze also nicht doof, sondern eine gute Erweiterung, die einem einiges an Arbeit abnehmen kann.
 

para_

Bekanntes Mitglied
Andere Frage: Warum kann ich den Rückgabewert von list.get() an eine char-Variable übergeben, denn get() gibt doch ein Object zurück.
versteh den satz irgendwie nicht :(

du kannst den Rückgabewert von
Code:
list.get(i)
nicht ohne weiteres an eine char Variable übergeben, wenn du die liste mit <String> zu einer liste aus String Objekten gemacht hast, weil dann der Rückgabewert ein String und kein Char ist

du kannst aber den Rückgabewert dann mit
Code:
charAt( stelle )
durchlaufen oder beispielsweise mit
Code:
list.get(i).charAt(0)
den ersten buchstabe des eintrages holen
 

para_

Bekanntes Mitglied
Code:
String leererString = "nochNichtLeer";

leererString = "";  // meinst du sowas?
leererString = null;  // oder sowas?

String nochEiner = new String();  // oder vielleicht sowas?

Leerer String, Leer-String oder Null-String

Die Anweisungen

String str = "";

oder

String str = new String();

referenzieren in beiden Fällen String-Objekte, die keine Zeichen enthalten. Die zweite Schreibweise erzeugt aber ein neues String-Objekt, während im ersten Fall das String-Literal im Konstantenpool liegt. Ein String ohne Zeichen nennen wir leeren String, Leer-String oder Null-String. Der letzte Begriff ist leider etwas unglücklich und führt oft zur Verwechslung mit Folgendem:

String s = null;
System.out.println( s ); // null

Hier bekommen wir keinen leeren String und bei der Benutzung im Methodenaufruf, etwa bei s.length(), eine NullPointerException.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wert aus String Feld anzeigen Java Basics - Anfänger-Themen 7
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 10
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
A Negativ-Wert Java Basics - Anfänger-Themen 4
R finaler Wert in outerMethod von method in InnerMethodClass Java Basics - Anfänger-Themen 2
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Datum als Variable wert Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S Runden auf den niedrigsten Wert Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
J Wert in Dropdown Menü kursiv schrieben Java Basics - Anfänger-Themen 19
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
M Wie kann ich festlegen, dass ein Attribut maximal den Wert 0 erreicht, also nicht in den negativen Bereich fällt? Java Basics - Anfänger-Themen 4
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
U Ascii wert verschieben, wie möglich? Java Basics - Anfänger-Themen 3
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
J Wert zurückgeben über get Methode Java Basics - Anfänger-Themen 8
E Slider - Wert übergeben und überschreiben Java Basics - Anfänger-Themen 5
G Input/Output getText() gibt keinen Wert! Java Basics - Anfänger-Themen 13
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
T Feststellen, dass Wert zu groß; Caesar Chiffre Java Basics - Anfänger-Themen 3
J maximaler Wert eines Integers Java Basics - Anfänger-Themen 14
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
B Map<String, FilterMeta, wie Wert bekommen? Java Basics - Anfänger-Themen 4
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
1 Array nimmt falschen Wert auf! Java Basics - Anfänger-Themen 2
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
P Verzweigungen Wert zurück geben Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
T Klassen Den Wert aus Array lesen lassen Java Basics - Anfänger-Themen 12
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
J Wie kann ich z.B. einem int-Wert einen String-Wert zuweisen? Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
L Wert einer Webeseiteauslesen Java Basics - Anfänger-Themen 6
D Erste Schritte Wert im Array suchen Java Basics - Anfänger-Themen 12
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7
O Wert in einer Schleife unterschiedlich erhöhen Java Basics - Anfänger-Themen 2
B ArrayList besitzt einen Wert zu wenig Java Basics - Anfänger-Themen 16
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
F Java int-Wert wird resetet Java Basics - Anfänger-Themen 21
J Erste Schritte Wert aus JTextField zurückgeben Java Basics - Anfänger-Themen 6
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
J Wert bei Objekterzeugung verändern Java Basics - Anfänger-Themen 12
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
D Erste Schritte Java speichert wert des Scanners nicht Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
CptK x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
deatzi Wert aus anderer Klasse lesen Java Basics - Anfänger-Themen 7
D Compiler-Fehler Array an Methode übergeben und Wert zurückbekommen Java Basics - Anfänger-Themen 3
G Schleife fragt Wert ab bis 0 kommt (mit IO.java klasse) Java Basics - Anfänger-Themen 16
O String: Befehl und Wert erkennen. Java Basics - Anfänger-Themen 4
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37

Ähnliche Java Themen

Neue Themen


Oben