Načtení čísel ze souboru do pole – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Načtení čísel ze souboru do pole – Java – Fórum – Programujte.comNačtení čísel ze souboru do pole – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
lado
~ Anonymní uživatel
1 příspěvek
9. 9. 2012   #1
-
0
-

Ahoj,

potřeboval bych se podívat na kód programu, který by měl načíst čísla z textového souboru do pole (jsou oddělena tabuláborem, 21 řádků, 5 sloupečků). Z nějakého důvodu mi to nelze provést a program pořád "háže" chybu "java.lang.ArrayIndexOutOfBoundsException: 5", i když pole zvětším libovolně nebo použiji ArrayList.

Díky!

Kdyby si někdo udělal čas, moc by mi to pomohlo. Čísla načtená v poli je ještě nutné seřadit podle velikosti, vypsat a spočíst jejich aritmetický průměr.

Přikládám dosavadní kód:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class trib {
	public static void main (String args[]) {
		
		ArrayList<Integer> al = new ArrayList<Integer>();
		
		try {
			FileInputStream fis = new FileInputStream("soubor.txt");
			BufferedReader br = new BufferedReader(new InputStreamReader(fis));
			String strLine;
			
			while ((strLine = br.readLine()) != null) {
				String[] s = strLine.split("\t");
				for (int i = 1; i <= s.length; i++) {
					al.add(Integer.parseInt(s[i]));
				}
			}
		
		}
		catch(Exception e) {
			System.out.println("Nastala chyba:");
			System.out.println(e);
		}

	}
}
Nahlásit jako SPAM
IP: 90.181.200.–
Reklama
Reklama
KIIV+42
God of flame
9. 9. 2012   #2
-
0
-

a nepada to spis na tom poli co vyleze ze splitu?

jinak si samozrejme nejsem jist, ale pravdepodobne se indexuje od 0 do 4 ne od 1 do 5

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Dano
~ Anonymní uživatel
100 příspěvků
14. 9. 2012   #3
-
0
-

tak ako napisal KIIV pole je indexovane od 0 po pole.length() - 1

Takze staci opravit for nasledovne for (int i = 0; i < s.length; i++) { ... } a malo by to byt v cajchu ;)

Nahlásit jako SPAM
IP: 195.28.127.–
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, 34 hostů

Podobná vlákna

Načtení čísel ze souboru — založil ne-věd

Načtení souboru do pole — založil Jakub

Načtení *.txt souboru do pole — založil Dr.Vostep

Moderátoři diskuze

 

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