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!