Anonymní profil lado – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil lado – Programujte.comAnonymní profil lado – Programujte.com

 

Příspěvky odeslané z IP adresy 90.181.200.–

lado
Java › Načtení čísel ze souboru do…
9. 9. 2012   #162970

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);
		}

	}
}
ne-věd
Java › Načtení čísel ze souboru
9. 9. 2012   #162969

Vyřešeno!

Program se při zjišťování dalších číslic pouze nevracel na začátek souboru.

ne-věd
Java › Načtení čísel ze souboru
9. 9. 2012   #162961

Díky za bleskovou reakci! Došel jsem k tomuhle výsledku, ale kvůli něčemu se nemůžu pohnout dál :-/. Program se zkompiluje (o to je to horší :-), ale je tam logická chyba. Prostě stále vypisuje správnou hodnotu pouze u čísla "1", ale u ostatních píše počet "0". Jinak pole proměnných jsem vynechal, aby to bylo jednodušší (je zakomentované). 

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
 
public class dva {
	public static void main(String[] args) {
		
		/*
		byte[] poctyCisel;
		poctyCisel = new byte[9];
		
		for (byte a = 0; a < 9; a++) {
			poctyCisel[a] = 0;
		}
		*/
		
		try {
			FileInputStream fis = new FileInputStream("cislice2.txt");
			BufferedReader br = new BufferedReader(new InputStreamReader(fis));
			String strLine;
			
			for (byte k = 1; k < 10; k++) {
				byte x = 0;
				while ((strLine = br.readLine()) != null) {
					String[] s = strLine.split(" ");
					for (int i = 0; i < s.length; i++) {
						if (s[i].equals(String.valueOf(k))) {
							x += 1; 
						}
					}
				}
				System.out.println(k+" je v souboru "+x+" krat");
			}

			
		}
		catch(Exception e) {
			System.out.println(e);
		}
		
	}
}
ne-věd
Java › Načtení čísel ze souboru
8. 9. 2012   #162927

Ahoj,

chtěl bych někoho zdvořile požádat o návrh řešení dvou případů. Osobně s Javou začínám a mám problémy i se syntaxí některých základních prvků... Příklady jsou, věřím, značně jednoduché a velmi by mi to pomohlo. Snad se tu najde někdo, kdo by rád předvedl své programátorské umění ;-)!

1.) Jde o to, vytvořit program schopný načíst ze souboru xy.txt obsah. Dále zjistit, kolikrát se v něm opakuje ta která číslice od 0 do 9 a vytvořit výstup ve formátu

- číslice 0 je v souboru 5krát

- číslice 1 je v souboru 3krát

- ...

xy.txt:

1 3 5 7 9
1 1 1 3 1 5 1 7 1 9
2 1 2 3 2 5 2 7 2 9
3 1 3 3 3 5 3 7 3 9
4 1 4 3 4 5 4 7 4 9
5 1 5 3 5 5 5 7 5 9
6 1 6 3 6 5 6 7 6 9
7 1 7 3 7 5 7 7 7 9
8 1 8 3 8 5 8 7 8 9
9 1 9 3 9 5 9 7 9 9

2.) Program načte se souboru xz.txt všechna čísla do pole, to následně seřadí vzestupně a seřazené pole vypíše. Následně ještě zobrazí aritmetický průměr všech daných čísel.

xz.txt:

1  3 5 7 9
11 13 15 17 19
21 23 25 27 29
31 33 35 37 39
41 43 45 47 49
51 53 55 57 59
61 63 65 67 69
71 73 75 77 79
81 83 85 87 89
91 93 95 97 99
101 103 105 107 109
111 113 115 117 119
121 123 125 127 129
131 133 135 137 139
141 143 145 147 149
151 153 155 157 159
161 163 165 167 169
171 173 175 177 179
181 183 185 187 189
191 193 195 197 199
201 203 205 207 209

 

 

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