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;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Webotlet_11maj_szojatek
{
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( vanMgh(szo) )
{
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( szavak5[i].substring(1, 4).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( szavak5[i].substring(1, 4).compareTo(szavak5[j].substring(1, 4)) > 0 )
{
String csere = szavak5[i];
szavak5[i] = szavak5[j];
szavak5[j] = csere;
}
}
}
try
{
RandomAccessFile ki = new RandomAccessFile("letra.txt", "rw");
ki.setLength(0);
if( szavak5[0].substring(1, 4).equals(szavak5[1].substring(1, 4)) )
{
ki.writeBytes(szavak5[0] + "\n");
}
for( int i = 1; i < szavak5.length - 1; i++ )
{
if( szavak5[i].substring(1, 4).equals(szavak5[i - 1].substring(1, 4)) )
{
ki.writeBytes(szavak5[i] + "\n");
}
else if( szavak5[i].substring(1, 4).equals(szavak5[i + 1].substring(1, 4)) )
{
ki.writeBytes("\n" + szavak5[i] + "\n");
}
}
if( szavak5[szavak5.length - 1].substring(1, 4)
.equals(szavak5[szavak5.length - 2].substring(1, 4)) )
{
ki.writeBytes(szavak5[szavak5.length - 1] + "\n");
}
}
catch( IOException e )
{
System.out.println("HIBA");
}
}
public static boolean vanMgh(String szo)
{
if( szo.contains("a")
|| szo.contains("e")
|| szo.contains("i")
|| szo.contains("o")
|| szo.contains("u") )
{
return true;
}
else
{
return false;
}
}
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!
