Csak akkor olvass tovább, ha a Hányszor van benne az adott String feladatot megoldottad, vagy nem sikerült megoldani.
Lássuk akkor a feladatok megoldásait. Az egyes változatok teljesen eltérő megközelítést alkalmaznak.
1. változat
String hol = "KKNDDKDKKNKDEDNNENNNNNEKNEEEDKNK"+ "EEEDKDDNDKDEKEDKNKKDEENKEKKDKEND"+ "KNNDDDKNDNDDDNEKNEDENDEEDKDDDNDN"+ "NEDEKNENNEEKDEKKDKKEEEDKDNNKKDNN"+ "NEDEKKNEEENKKKDEKDKKKN"; String mit = "KKN"; int db = 0; for( int i = 0; i < hol.length()-2; i++ ) { if( hol.substring(i,i+3).equals(mit) ) { db++; } } System.out.println( db );
2. változat
String hol = "KKNDDKDKKNKDEDNNENNNNNEKNEEEDKNK"+ "EEEDKDDNDKDEKEDKNKKDEENKEKKDKEND"+ "KNNDDDKNDNDDDNEKNEDENDEEDKDDDNDN"+ "NEDEKNENNEEKDEKKDKKEEEDKDNNKKDNN"+ "NEDEKKNEEENKKKDEKDKKKN"; String mit = "KKN"; int db = 0; boolean van = hol.contains( mit ); while( van ) { db++; hol = hol.replaceFirst( mit, "" ); van = hol.contains( mit ); } System.out.println( db );
3. változat (ehhez már gondolkodni sem árt)
String hol = "KKNDDKDKKNKDEDNNENNNNNEKNEEEDKNK"+ "EEEDKDDNDKDEKEDKNKKDEENKEKKDKEND"+ "KNNDDDKNDNDDDNEKNEDENDEEDKDDDNDN"+ "NEDEKNENNEEKDEKKDKKEEEDKDNNKKDNN"+ "NEDEKKNEEENKKKDEKDKKKN"; String mit = "KKN"; // csak rövidítés miatt, hogy elférjen egy sorba a kód int db = (hol.length() - hol.replaceAll( mit, "" ).length()) / mit.length(); System.out.println( db );
4. változat (ehhez meg jól kell ismerni a Stringeket)
String hol = "KKNDDKDKKNKDEDNNENNNNNEKNEEEDKNK"+ "EEEDKDDNDKDEKEDKNKKDEENKEKKDKEND"+ "KNNDDDKNDNDDDNEKNEDENDEEDKDDDNDN"+ "NEDEKNENNEEKDEKKDKKEEEDKDNNKKDNN"+ "NEDEKKNEEENKKKDEKDKKKN"; String mit = "KKN"; System.out.println( hol.split( mit, -1 ).length-1 );