Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.
Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.
Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.
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: