Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Napište program, který přečte ze souboru text skladající se pouze z písmen a čísel. Název souboru přečtěte z klávesnice. Roztřiďte slova obsažená v textu do souborů pojmenovaných podle prvního písmena slova. Slova i názvy souborů budou uloženy malými písmeny. Soubory ulozte do samostatneho adresare. Ve druhém kroku analyzujte vsechny soubory v adresari- spočítejte průměrnou délku řádků a počet řádků. Ošetřete reakce na neexistující soubor i případné další problémy spojené s prací se soubory.
Např. pro soubor „vstup.txt“ obsahující text: "Domaci ukol na soubory z predmetu Programovani 1"
vzniknou soubory, které obshují:
1.txt
1
d.txt
domaci
n.txt
na
p.txt
predmetu
programovani
s.txt
soubory
u.txt
ukol
z.txt
z
Výstupem analýzy souborů bude (název průměrnáDélkaŘádku početŘádku):
1.txt 1.0 1
d.txt 6.0 1
n.txt 2.0 1
p.txt 10.0 2
s.txt 7.0 1
u.txt 4.0 1
z.txt 1.0 1
Vůbec nemůžu najít jak by to šlo udělat ani ve dvou knihách co mám o tom nic není.Jesli můžete poradit nebo odkázat na jinou stránku. díky
Offline
↑ adam1928: "Vůbec nemůžu najít jak by to šlo udělat ani ve dvou knihách co mám o tom nic není." - a co takhle to zkusit vymyslet?
Offline
↑ adam1928: v jave programovat umis a resis, jak to zalgoritmizovat? a nebo ani v jave neumis programovat?
Offline
↑ adam1928: a co treba vyzkouset gůgl? http://www.linuxsoft.cz/article.php?id_article=836
Offline
/////////cteni ze souboru
try {
FileInputStream fis = new FileInputStream("soubor.txt");
int i = 0;
while ((i = fis.read()) >= 0) { // čte se, dokud není konec souboru
System.out.print((char)(i));
}
fis.close(); // zavření souboru
} catch (IOException e) {
System.out.println("Tento soubor neexistuje");
}
//////////// vytvoreni noveho adresare
File file = new File("domaciukol");
file.mkdirs();
///////////// vytvoreni souboru v adresari domaciukol
File soubor;
try {
soubor = new File("domaciukol//blabla.txt");
soubor.createNewFile();
} catch(IOException vyjimka) {
System.err.print(vyjimka);
=================================================
tak umí to číst pak si vytvoří adresář a nastává můj problém....
Jak rozlišit jednotlivá slova v textu co je v souboru?
Jak udělat nový soubor v adresáři aby se jmenoval podle prvního písmena jednotlivých slov v textu?
vůbec se nehejbu :(
Offline
↑ adam1928:
Dobré je začít tím že si načteš soubor , uložíš si obsah(třeba do pole ) a koukneš se jestli je to dobře načetlo. Pak to projedeš v cyklu a podle prvního písmena vytvoříš soubor (je třeba najít funkci která vytáhne prvního písmeno ze slova - třeba substring) a zapíšeš slovo do souboru. Pak už jen přemýšlet o věcech kterými to vyšperkuješ či opravíš postup:).
Offline
↑ adam1928: nacist radek, projit jej po znacich a analyzovat jednotliva slova, ktera jsou oddelena mezerami, osetrit tecky, carky, interpunkce apod.
Offline

K načítání řádků je potřeba použít BufferedReader: http://java.sun.com/j2se/1.4.2/docs/api … eader.html
Rozdělení řádku na slova umí funkce String.split: http://java.sun.com/j2se/1.4.2/docs/api … .String%29
Offline