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!
