Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.
Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).
Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.
Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).
Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
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: