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!