A feladat leírását, melynek a megoldását közzéteszem innen töltheted le. Ez a megoldás tömbbel dolgozik. Adattároló osztály nincs.
A feladat megoldásai:
/**
*
* @author https://webotlet.hu
*/
package webotlet_11maj_szojatek_v2;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Webotlet_11maj_szojatek_v2
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.print("1. feladat Adjon meg egy szot: ");
String szo = sc.nextLine();
if( mghDb(szo) > 0 )
{
System.out.println("Van benne maganhangzo.");
}
else
{
System.out.println("Nincs benne maganhangzo.");
}
System.out.println("2. feladat");
String leghosszabb = "";
try
{
RandomAccessFile raf = new RandomAccessFile("szoveg.txt", "r");
String sor;
for( sor = raf.readLine(); sor != null; sor = raf.readLine() )
{
if( sor.length() > leghosszabb.length() )
{
leghosszabb = sor;
}
}
raf.close();
}
catch( IOException e )
{
System.out.println("HIBA");
}
System.out.println(leghosszabb + " " + leghosszabb.length());
System.out.println("3. feladat");
int tobbMgh = 0;
int osszDb = 0;
try
{
RandomAccessFile raf = new RandomAccessFile("szoveg.txt", "r");
String sor;
for( sor = raf.readLine(); sor != null; sor = raf.readLine() )
{
osszDb++;
if( mghDb(sor) > (sor.length() / 2) )
{
System.out.print(sor + " ");
tobbMgh++;
}
}
System.out.println();
double szazalek = (double)tobbMgh / osszDb * 100;
System.out.println(String.format("%d/%d : %.2f%%",
tobbMgh, osszDb, szazalek));
raf.close();
}
catch( IOException e )
{
System.out.println("HIBA");
}
System.out.println("4. feladat");
String[] szavak5 = null;
try
{
RandomAccessFile raf = new RandomAccessFile("szoveg.txt", "r");
String sor;
int db = 0;
for( sor = raf.readLine(); sor != null; sor = raf.readLine() )
{
if( sor.length() == 5 )
{
db++;
}
}
szavak5 = new String[db];
raf.seek(0);
int hely = 0;
for( sor = raf.readLine(); sor != null; sor = raf.readLine() )
{
if( sor.length() == 5 )
{
szavak5[hely] = sor;
hely++;
}
}
raf.close();
}
catch( IOException e )
{
System.out.println("HIBA");
}
System.out.println("Adj meg egy 3 betus szotreszletet!");
String reszlet = sc.nextLine();
for( int i = 0; i < szavak5.length; i++ )
{
if( kozep(szavak5[i]).equals(reszlet) )
{
System.out.print(szavak5[i] + " ");
}
}
System.out.println();
// 5. feladat
for( int i = 0; i < szavak5.length - 1; i++ )
{
for( int j = i + 1; j < szavak5.length; j++ )
{
if( kozep(szavak5[i]).compareTo(kozep(szavak5[j])) > 0 )
{
String csere = szavak5[i];
szavak5[i] = szavak5[j];
szavak5[j] = csere;
}
}
}
try
{
RandomAccessFile ki = new RandomAccessFile("letra.txt", "rw");
ki.setLength(0);
if( kozep(szavak5[0]).equals(kozep(szavak5[1])) )
{
ki.writeBytes(szavak5[0] + "\n");
}
for( int i = 1; i < szavak5.length - 1; i++ )
{
if( kozep(szavak5[i]).equals(kozep(szavak5[i - 1])) )
{
ki.writeBytes(szavak5[i] + "\n");
}
else if( kozep(szavak5[i]).equals(kozep(szavak5[i + 1])) )
{
ki.writeBytes("\n" + szavak5[i] + "\n");
}
}
if( kozep(szavak5[szavak5.length - 1])
.equals(kozep(szavak5[szavak5.length - 2])) )
{
ki.writeBytes(szavak5[szavak5.length - 1] + "\n");
}
}
catch( IOException e )
{
System.out.println("HIBA");
}
}
public static String kozep(String szo)
{
return szo.substring(1, 4);
}
public static int mghDb(String szo)
{
int db = 0;
for( int i = 0; i < szo.length(); i++ )
{
if( szo.charAt(i) == 'a'
|| szo.charAt(i) == 'e'
|| szo.charAt(i) == 'i'
|| szo.charAt(i) == 'o'
|| szo.charAt(i) == 'u' )
{
db++;
}
}
return db;
}
}
Ha hibát találsz benne, kérlek jelezd!
