UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.
I letos vyšla řada ajťáckých adventních kalendářů: Advent of Code 2025, Perl Advent Calendar 2025, CSS Advent Calendar 2025, Advent of A11Y 2025, Advent of AI Security 2025, Advent of Agents (in Google) 2025, Advent of Svelte 2025, …
Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.
Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.
Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.
Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).
Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.
Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.
Společnost Collabora vydala (YouTube) na LibreOffice založený desktopový kancelářský balík Collabora Office. Pro Windows, macOS a Linux. Se stejným uživatelským rozhraním jako Collabora Online. Svůj desktopový kancelářský balík s rozhraním LibreOffice pojmenovala Collabora Office Classic.
a ani nevim, ktera vyjimka to je??
(Uz mam osetrene vyjimky IOException a FileNotFoundException....)
Predem diky za rady
Řešení dotazu:
davam sem kod moji metody i se zadanim:
http://pastebin.com/m4db49001
pokud soubour neni nalezen, je to vpohode(vypise Soubor nenalezen)
pokud nastane naka jina chyba, tak je to taky vpohode
jen nevim,jaka je vyjimka ze nelze cist....??
diky
IllegalAccessError bych dal pryč a dal tam IOException(do vnějšího ošetření) a co se týče ošetření to, dle mého, splní zadání
ad. stimhle mam problem, nevim ktera vyjimka to je?
Bych to v tomto případě viděl jen na vyjímku IOException
V Java API dokumentacii pre BufferedReader methodu read sa pise o IOException:
IOException - If an I/O error occursUrcite by si mal osetrit tuto vynimku. A na koniec mozes osetrit aj vseobecnu Exception, od ktorej su odvodene vsetky ostatne vynimky.
FileNotFoundException −> Pokud soubor neexistujeIOException −> Pokud soubor nebude možné čístException −> Nastane-li jakákoli jiná chyba
(? neco jako nazevSouboru.canRead();
File file = new File(nazevSouboru);
if (! file.exists()) {
...
}
if (! file.isReadable()) {
...
}
try {
BufferedReader vstup = new BufferedReader(new FileReader(file));
...
Jinak pro postupne nacitani nepouzivej String ale StringBuilder nebo StringBuffer, bude to rychlejsi (i kdyz tady o to asi tolik nejde).
if (pismeno == 'a') {
cetnostA++;
if (cetnostA < 10) {
pole[0][j] = cetnostA;
} else {
int pom = cetnostA / 10;
int pom2 = cetnostA % 10;
pole[0][j] = pom;
pole[1][j] = pom2;
}
}
...tohle je nejžhavější kandidát na samostatnou funkci. Jinak nerozumím proč ukládáš zvlášť jednotky a zvlášť desítky, ale jsem psal, moc jsem to nestudoval.
cetnostX. Pole indexuj číslem, které získáš přetypováním char na byte a odečtením 97 (viz. ASCII tabulka). Program se ti zkrátí na pětinu a nezešedivíš, pokud tam budeš chtít udělat nějaké změny/opravy.
int counter[26];
for (int i = 0; i < len; i++) {
int asciiVal = (int) vstup.charAt(i);
if (asciiVal >=97 && asciiVal <= 122) {
int idx = asciiVal - 97;
counter[idx] += 1;
toPrint[i] = counter[idx];
}
}
Tisk cetnosti na radky pod sebou bych resil az nakonec, tve reseni s dvojrozmernym polem jednak prenasi prezentacni etail do logiky se kterou vubec nesouvisi, jednak nemuzes vedet zda ta cetnost nebude mit vice cifer nez dve. Tzn. zaznamenej si ty cetnosti jako cisla a az dojde na jejich tisk, tak to teprve res (muzes si behem nacitani napriklad udrzovat maximum ze vsech cetnosti, abys vedel kolik radku je treba na konci vytisknout).
Ulohu lze resit bez nacitani souboru do pameti (to bych preferoval), ale malicko se tim zeslozituje to vytisknuti cetnosti pod sebou, protoze neni predem znama delka radku - to ale jde lehce resit treba samozvetsujicim se polem pro citac (tzn. kdyz uz mi pole nestaci, alokuju si nove treba dvakrat vetsi, stare si do nej presunu a jedu dal). Proste kazdy znak co nactes vypises na vystup (+ transformace newline) a nacitas do citace, k nacteni do stringu neni zadny duvod.
Tiskni
Sdílej: