Diskuze: Čtečka souboru
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
No když nic jiného, tak bych považoval za správné si ověřit jestli String ze kterého chceš substringem něco vybírat má pozice, ze kterých chceš vybírat (rozuměj je dostatečně dlouhý).
Koukni na StringUtils.isNotBlank(string) metodu.
Jo, myslíš takhle?
if (s.substring(0, 1).equals("c"))
{
if (s.length() > 1)
{
System.out.println(Integer.toString(pocet)+ " " + s.substring(0, 1));
pocet = pocet + 1 ;
}
}
Podlě mě to děláš stále stejně zle. Nejdřív použiješ substring a teprve poté zjišťuješ jestli je String dostatečně dlouhý . Ale už se blížíš .
Mimo to metoda, kterou ti Jan Vargovský doporučoval by se ti mohla také hodit ...
Jasně, já vím, že to tam mám blbě . Hloupost, sem to tam plácnul
rychle. Jdu se podívat ještě na tu metodu od Jan Vargovský.
Já s Javou teprve začínám, nebyl jsem si jistý, jestli je správně
použít IF.
Já bych to viděl nějak takto:
System.out.println("Vypisuji celý soubor:");
try (BufferedReader br = new BufferedReader(new FileReader("opol14.cop")))
{
String s;
int pocet = 0;
while ((s = br.readLine()) != null)
{
if (!s.isEmpty())
{
if((s.charAt(0)) == 'c')
{
pocet++;
System.out.println(pocet + " c");
}
}
}
}
catch (Exception e)
{
System.err.println("Chyba při čtení ze souboru: " + e.getMessage());
}
Neříkam, že to tak je nejlepší, ale snad bude fungovat
Kdybys chtěl ušetřit trošku místa
System.out.println("Vypisuji celý soubor:");
try (BufferedReader br = new BufferedReader(new FileReader("opol14.cop")))
{
String s;
int pocet = 0;
while ((s = br.readLine()) != null && !s.isEmpty() && (s.charAt(0)) == 'c')
System.out.println(++pocet + " c");
}
catch (Exception e)
{
System.err.println("Chyba při čtení ze souboru: " + e.getMessage());
}
Zobrazeno 11 zpráv z 11.