ArrayIndexOutOfBoundsException – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ArrayIndexOutOfBoundsException – Java – Fórum – Programujte.comArrayIndexOutOfBoundsException – Java – Fórum – Programujte.com

 

lubo
~ Anonymní uživatel
34 příspěvků
19. 11. 2011   #1
-
0
-

Caute, neviete mi povedat preco mi pise tuto chybu ?


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at jxl.read.biff.SheetImpl.getCell(SheetImpl.java:356)
at triedy.IS.XLS.read(XLS.java:38)
at triedy.IS.XLS.main(XLS.java:67)

Viem ze to znamena ze vychadzam z pola ale nechapem ako....mozte mi niekto pomoct? Dakujem.

package triedy.IS;

import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class XLS {

	private String inputFile;
	int[][] pole = new int[50][50];
	
	// Funkcia pre nacitanie buniek
	public void setInputFile(String inputFile) {
		this.inputFile = inputFile;
	}

	public void read() throws IOException  {
		File inputWorkbook = new File(inputFile);
		Workbook w;
		int[] hodnota = new int[100];
		
		try {
			w = Workbook.getWorkbook(inputWorkbook);
			// Nacitavanie prveho harku
			Sheet sheet = w.getSheet(0);
			// Cyklus pre nacitanie buniek 2 stlpcov a 5 riadkov
			Cell[][] cell = new Cell[50][50];
			CellType[][] type = new CellType[50][50];
			
				for (int i=4; i<5; i++){
					for(int j=19; j<20; j++){
						
						cell[i][j] = sheet.getCell(i,j);
						type[i][j] = cell[i][j].getType();
						
						if (cell[i][j].getType() == CellType.LABEL) {
							System.out.println("pole "+i+j+" "
									+ cell[i][j].getContents());
						}
						
						if (cell[i][j].getType() == CellType.NUMBER) {
							hodnota[j] = Integer.parseInt(cell[i][j].getContents());
							pole[i][j] = hodnota[j];
						}
					}
					
				}
				
		} catch (BiffException e) {
			e.printStackTrace();
		}
	}
	
	// Funkcia pre vratenie nacitanych hodnot
	public int[][] getRead(){
		return pole;
	}

	public static void main(String[] args) throws IOException {
		XLS test = new XLS();
		test.setInputFile("c:/temp/lars.xls");
		test.read();
		for (int i=4; i<5; i++){
			for(int j=19; j<20; j++){
				System.out.println("toto je koncova hodnota navratova " + test.getRead()[i][j]);
			}
		}
		
	}

}
Nahlásit jako SPAM
IP: 147.232.192.–
zlz
~ Anonymní uživatel
634 příspěvků
19. 11. 2011   #2
-
0
-

Asi tam ta buňka není. Měla by?

Nahlásit jako SPAM
IP: 213.211.51.–
lubo
~ Anonymní uživatel
34 příspěvků
19. 11. 2011   #3
-
0
-

#2 zlz
ta bunka tam je....program funguje tak ze ak v danej bunke nenajde cislo ani pismeno vypise nulu.....a excel ma 65 635 riadkov myslim a stlpcov tiez dost kolko neviem....ale s tym by problem nemal byt...

Nahlásit jako SPAM
IP: 147.232.192.–
zlz
~ Anonymní uživatel
634 příspěvků
19. 11. 2011   #4
-
0
-

Tak sem hoď ten soubor.

Nahlásit jako SPAM
IP: 213.211.51.–
lubo
~ Anonymní uživatel
34 příspěvků
20. 11. 2011   #5
-
0
-
Nahlásit jako SPAM
IP: 147.232.192.–
zlz
~ Anonymní uživatel
634 příspěvků
20. 11. 2011   #6
-
0
-

Sloupce jsou číslované od nuly a jsou tam 4 sloupce -- takže 0 až 3 -- ta čtyřka je "out of bounds".

Nahlásit jako SPAM
IP: 213.211.51.–
lubo
~ Anonymní uživatel
34 příspěvků
22. 11. 2011   #7
-
0
-

to je jedno ze je tam 4ka lebo excel ma bunky od A po Z a od 0 po 65635 cca....a ten kod vie nacitat aj prazdne bunky...to ci v tych bunkach nieco je alebo nieje na tom nezalezi...

Nahlásit jako SPAM
IP: 147.232.192.–
zlz
~ Anonymní uživatel
634 příspěvků
23. 11. 2011   #8
-
0
-

Ne. Načte se jen to co tam je, tahle buňka tam není a getCell pro indexy mimo rozsah nefunguje. Můžeš si ty zdrojáky prostudovat sám.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý