A feladat leírását, melynek a megoldását közzéteszem innen töltheted le.
Saját osztály:
/** * * @author https://webotlet.hu */ package webotlet_17maj_szakmai_e_txt2srt; public class IdozitettFelirat { private String idozites; private String felirat; private int szavakSzama; public IdozitettFelirat(String idozites, String felirat) { this .idozites = srtIdozites(idozites); this .felirat = felirat; szavakSzama = szavakSzama(felirat); } public int szavakSzama(String felirat) { return felirat.split( " " ).length; } private String srtIdozites(String idozites) { //65:31 - 65:34 //01:05:31 --> 01:05:34 String[] ido1 = new String[ 3 ]; String[] ido2 = new String[ 3 ]; int tmp = Integer.parseInt(idozites.substring( 0 , 2 )); ido1[ 0 ] = String.format( "%02d" , tmp / 60 ); ido1[ 1 ] = String.format( "%02d" , tmp % 60 ); ido1[ 2 ] = idozites.substring( 3 , 5 ); tmp = Integer.parseInt(idozites.substring( 8 , 10 )); ido2[ 0 ] = String.format( "%02d" , tmp / 60 ); ido2[ 1 ] = String.format( "%02d" , tmp % 60 ); ido2[ 2 ] = idozites.substring( 11 ); return String.join( ":" , ido1) + " --> " + String.join( ":" , ido2); } public String getIdozites() { return idozites; } public String getFelirat() { return felirat; } public int getSzavakSzama() { return szavakSzama; } @Override public String toString() { return "IdozitettFelirat{" + "idozites=" + idozites + ", felirat=" + felirat + ", szavakSzama=" + szavakSzama + '}' ; } } |
A feladat megoldásai:
/** * * @author https://webotlet.hu */ package webotlet_17maj_szakmai_e_txt2srt; import java.io.IOException; import java.io.RandomAccessFile; import java.util.ArrayList; public class Webotlet_17maj_szakmai_e_Txt2srt { public static void main(String[] args) { ArrayList<IdozitettFelirat> feliratok = new ArrayList<>(); try { RandomAccessFile raf = new RandomAccessFile( "feliratok.txt" , "r" ); String sor; for ( sor = raf.readLine(); sor != null ; sor = raf.readLine() ) { feliratok.add( new IdozitettFelirat(sor, raf.readLine())); } raf.close(); } catch ( IOException e ) { System.out.println( "HIBA" ); } System.out.println( "5. feladat - feliratok száma: " + feliratok.size()); int max = 0 ; for ( int i = 1 ; i < feliratok.size(); i++ ) { if ( feliratok.get(i).getSzavakSzama() > feliratok.get(max).getSzavakSzama() ) { max = i; } } System.out.println( "7. feladat - Legtöbb szóból álló felirat:" ); System.out.println(feliratok.get(max).getFelirat()); try { RandomAccessFile ki = new RandomAccessFile( "felirat.srt" , "rw" ); ki.setLength( 0 ); for ( int i = 0 ; i < feliratok.size(); i++ ) { ki.writeBytes((i + 1 ) + "\n" + feliratok.get(i).getIdozites() + "\n" + feliratok.get(i).getFelirat() + "\n\n" ); } ki.close(); } catch ( IOException e ) { System.out.println( "HIBA" ); } } } |
Ha hibát találsz benne, kérlek jelezd!