java.lang.ArrayIndexOutOfBoundsException: 0 >= 0

Status
Nicht offen für weitere Antworten.
H

Helmchen

Gast
Hallo,

wenn ich das //System.out.println(dm.getValueAt(a,1)); dekommentiere im Code bekomme ich diese Fehlermeldung:

Code:
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
	at java.util.Vector.elementAt(Unknown Source)
	at javax.swing.table.DefaultTableModel.getValueAt(Unknown Source)


da jedesmal eine Zeile geaddet wird ist ja die Zeilelänge gleich der nächsten Zeile die ich ausgeben will und 1 für spalte 1 stimmt ja auch... Was mache ich falsch?

Code:
try {
    	    URL feedUrl = new URL(myRSS);
			SyndFeedInput input = new SyndFeedInput();
			SyndFeed feed = input.build(new XmlReader(feedUrl)); 
	        Iterator<?> items = feed.getEntries().iterator(); 		        
	       
	        int a;
	        while (items.hasNext())
	        { 		        	
	        	SyndEntry item = (SyndEntry)items.next();
	        	a = dm.getRowCount();
	        	
	        	//System.out.println(dm.getValueAt(a,1));
	        	
        		Date date1 = sdf.parse(sdf.format(item.getPublishedDate()));
        		
	        	dm.insertRow(a, new Object[]{});
	        	dm.setValueAt(item.getTitle(),a,1);  
	            dm.setValueAt("<html><a item.getLink()>Click me</a></html>",a,2);
	            dm.setValueAt(date1,a,3);
	            dm.setValueAt(item.getDescription().getValue(),a,4);
	        }
			
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
}
 
S

SlaterB

Gast
die Exception besagt, dass die Liste im Hintegrund leer ist,
von einer leeren Liste (a == rowCount ist ja 0) kann man man nicht das 0-te Element abfragen, also das erste Element der Liste


wenn du erst in Zeile 17 eine Row einfügst,
wieso willst du dann schon in Zeile 13 einen Wert davon ausgeben?
 
H

Helmchen

Gast
SlaterB hat gesagt.:
die Exception besagt, dass die Liste im Hintegrund leer ist,
von einer leeren Liste (a == rowCount ist ja 0) kann man man nicht das 0-te Element abfragen, also das erste Element der Liste


wenn du erst in Zeile 17 eine Row einfügst,
wieso willst du dann schon in Zeile 13 einen Wert davon ausgeben?

Hm... Hm... Hm.. ???:L


Code:
a = dm.getRowCount();
              
              //System.out.println(dm.getValueAt(a,1));
              
              Date date1 = sdf.parse(sdf.format(item.getPublishedDate()));
              
              dm.insertRow(a, new Object[]{});

Am Anfang bevor ich eine Zeile einfüge ist a = 0 da noch keine Zeilen eingefügt sind. Danach wird mit insertRow an a = 0 sprich zeile 0 eingefügt, danach ist a = 1 da RowCount = 1 nun wird mit insertRow an a = 1 eine Zeile eingefügt usw. bis 17 Zeilen vorhanden sind. Ich sehe da kein Problem?!

Ich denke es ist doch eher so, das ich als 1. den System.out.println mache mit der Zeile a die es noch gar nicht gibt??? Das sehe ich eher als Problem du nicht?
 
H

Helmchen

Gast
Worum es mir geht ist folgendes:

Ich lese rss feeds in eine tabelle ein kein Problem. Doch wenn ich nach geraumer Zeit wieder feeds hole sind da natürlich die ganzen vorherigen mitdrin sprich beim 2.update habe ich doppelte einträge in der Tabelle beim 8. rss update habe ich 8fache doppelgänger von Jedem titel was nicht erwünscht ist. Bevor ich also einen rss in die Tabelle einträge will ich vergleichen ob der String in der Spalte Titel dem item.getTitle() entspricht.

Das Problem hierbei ist, dass bei Anwendungsstart sprich beim 1.update ja noch keine Daten in der Tabelle vorhanden sind die ich vergleichen könnte weil keine Zeilen vorhanden sind... denn mit jedem item Hinzufügen kommt ja erst ein insertRow... sprich das ganze funktioniert erst beim 2. update wenn Zeilen vorhanden sind. Ich bin gerade auf die Idee gekommen:

Wenn Zeilenanzahl gleich < 1 füge einfach ein an feeds was kommt, Wenn Zeilenanzahl > 0 dann vergleiche die existierenden Tabellenzeileneinträge mit dem aktuellen feed, je nachdem ob vorhaden/nicht mache ein insert/nicht.

Was hälst du von der Idee?
 
H

Helmchen

Gast
Also ich habs mal so gecodet. Fehler bekomme ich keine mehr, doch der Stringvergleich scheint nicht zu funktionieren,denn sortiere ich die jtable nach dem title sehe ich nach 5. update auch 5 gleiche title...

Code:
try
		{
    	    URL feedUrl = new URL(getRSSFeed());
			SyndFeedInput input = new SyndFeedInput();
			SyndFeed feed = input.build(new XmlReader(feedUrl)); 
	        Iterator<?> items = feed.getEntries().iterator(); 		        
	       
	        int rowNumber;
	        while (items.hasNext())
	        { 		        	
	        	SyndEntry item = (SyndEntry)items.next();
	        	
	        	rowNumber = dm.getRowCount();
	        	System.out.println("zeilenanzahl: "+ rowNumber);
	        	if(rowNumber < 1)
	        	{	        		
	        		dm.insertRow(rowNumber, new Object[]{});       	
		        		        	
	        		Date date1 = sdf.parse(sdf.format(item.getPublishedDate()));
		        	
		        	dm.setValueAt(item.getTitle(),rowNumber,1);  
		            dm.setValueAt("<html><a item.getLink()>Click me</a></html>",rowNumber,2);
		            dm.setValueAt(date1,rowNumber,3);
		            dm.setValueAt(item.getDescription().getValue(),rowNumber,4);
	        		
	        	}	
	        	else if(rowNumber > 0)
	        	{	        		

                                 // durchlaufe die komplette Tabelle, denn der neue title könnte bereits in irgendeiner Zeile sein
	        		for(int i = 0 ; i < dm.getRowCount() ; i++)
	        		{
	        			//wenn aktueller getTitle in Zeile i ist
	        			if( dm.getValueAt(i,1).toString().contains(item.getTitle()) ) 
    					{
	        				System.out.println("Eintrag bereits vorhanden");
    					}
	        			else
	        			{
	        				System.out.println("Eintrag hinzufügen, da nicht vorhanden!");
	        				dm.insertRow(i, new Object[]{});       	
	    		        	
			        		Date date1 = sdf.parse(sdf.format(item.getPublishedDate()));
				        	
				        	dm.setValueAt(item.getTitle(),i,1);  
				            dm.setValueAt("<html><a item.getLink()>Click me</a></html>",i,2);
				            dm.setValueAt(date1,i,3);
				            dm.setValueAt(item.getDescription().getValue(),i,4);
				            break; //ist ein item hinzugefügt wird die for-schleife verlassen und das nächste Item geholt
	        			}
	        		}	
	        	}	
	        }			
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
 
S

SlaterB

Gast
> Ich denke es ist doch eher so, das ich als 1. den System.out.println mache mit der Zeile a die es noch gar nicht gibt??? Das sehe ich eher als Problem du nicht?

genau das habe ich auch gesagt..

die Exception ist nun also geklärt?
keine Ahnung was du da noch seitenfüllend danach alles schreibst,
eine deutliche Frage oder Bezug zum ersten Posting habe ich nicht gesehen,
komplett in dein Programm reindenken mag ich mich nicht
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
S java.lang.ArrayIndexOutOfBoundsException: 5 nur wieso? Java Basics - Anfänger-Themen 2
V java.lang.ArrayIndexOutOfBoundsException: Java Basics - Anfänger-Themen 3
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
B java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
P Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 3
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 6
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
H java.lang.NoSuchMethodError: Java Basics - Anfänger-Themen 5
J java.lang.UnsatisfiedLinkError: Java Basics - Anfänger-Themen 9
T List in java.lang.Object... einfügen Java Basics - Anfänger-Themen 12
M java.lang.StringTokenizer Java Basics - Anfänger-Themen 4
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
P java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory Java Basics - Anfänger-Themen 1
Y java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 9
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben