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_helsinki1952; public class Helyezes { private int hely; private int db; private String sportag; private String versenyszam; private int pontszam; public Helyezes(String[] tomb) { hely = Integer.parseInt(tomb[ 0 ]); db = Integer.parseInt(tomb[ 1 ]); sportag = tomb[ 2 ]; versenyszam = tomb[ 3 ]; } public int getHely() { return hely; } public int getDb() { return db; } public String getSportag() { return sportag; } public String getVersenyszam() { return versenyszam; } public int getPontszam() { return pontszam; } public void setPontszam( int pontszam) { this .pontszam = pontszam; } @Override public String toString() { return "Helyezes{" + "hely=" + hely + ", db=" + db + ", sportag=" + sportag + ", versenyszam=" + versenyszam + ", pontszam=" + pontszam + '}' ; } public String eredmeny() { String nev = sportag; if ( sportag.equals( "kajakkenu" ) ) { nev = "kajak-kenu" ; } return hely + " " + db + " " + pontszam + " " + nev + " " + versenyszam; } } |
A feladat megoldásai:
/** * * @author https://webotlet.hu */ package webotlet_17maj_szakmai_e_helsinki1952; import java.io.IOException; import java.io.RandomAccessFile; import java.util.ArrayList; public class Webotlet_17maj_szakmai_e_helsinki1952 { public static void main(String[] args) { // 2. feladat ArrayList<Helyezes> helyezesek = new ArrayList<>(); try { RandomAccessFile raf = new RandomAccessFile( "helsinki.txt" , "r" ); String sor; for ( sor = raf.readLine(); sor != null ; sor = raf.readLine() ) { helyezesek.add( new Helyezes(sor.split( " " ))); } raf.close(); } catch ( IOException e ) { System.out.println( "HIBA" ); } // for( Helyezes helyezes : helyezesek) // { // System.out.println(helyezes.toString()); // } System.out.println( "3. feladat:" ); System.out.println( "Pontszerző helyezések száma: " + helyezesek.size()); System.out.println( "4. feladat" ); int [] helyezesDb = new int [ 7 ]; for ( int i = 0 ; i < helyezesek.size(); i++ ) { helyezesDb[helyezesek.get(i).getHely()]++; } System.out.println( "Arany: " + helyezesDb[ 1 ]); System.out.println( "Ezüst: " + helyezesDb[ 2 ]); System.out.println( "Bronz: " + helyezesDb[ 3 ]); System.out.println( "Összesen: " + (helyezesDb[ 1 ] + helyezesDb[ 2 ] + helyezesDb[ 3 ])); System.out.println( "5. feladat" ); int osszeg = 0 ; for ( int i = 0 ; i < helyezesek.size(); i++ ) { helyezesek.get(i).setPontszam(pontszam(helyezesek.get(i).getHely())); osszeg += helyezesek.get(i).getPontszam(); } System.out.println( "Olimpiai pontok száma: " + osszeg); System.out.println( "6. feladat" ); int tornaErmek = 0 ; int uszasErmek = 0 ; for ( int i = 0 ; i < helyezesek.size(); i++ ) { if ( helyezesek.get(i).getHely() <= 3 ) { if ( helyezesek.get(i).getSportag().equals( "torna" ) ) { tornaErmek++; } else if ( helyezesek.get(i).getSportag().equals( "uszas" ) ) { uszasErmek++; } } } if ( tornaErmek > uszasErmek ) { System.out.println( "Torna sportágban szereztek több érmet" ); } else if ( tornaErmek > uszasErmek ) { System.out.println( "Úszás sportágban szereztek több érmet" ); } else { System.out.println( "Egyenlő volt az érmek száma" ); } // 7. feladat try { RandomAccessFile ki = new RandomAccessFile( "helsinki2.txt" , "rw" ); ki.setLength( 0 ); for ( int i = 0 ; i < helyezesek.size(); i++ ) { ki.writeBytes(helyezesek.get(i).eredmeny() + "\n" ); } ki.close(); } catch ( IOException e ) { System.out.println( "HIBA" ); } System.out.println( "8. feladat" ); int max = 0 ; for ( int i = 1 ; i < helyezesek.size(); i++ ) { if ( helyezesek.get(i).getDb() > helyezesek.get(max).getDb() ) { max = i; } } System.out.println( "Helyezés: " + helyezesek.get(max).getHely()); System.out.println( "Sportág: " + helyezesek.get(max).getSportag()); System.out.println( "Versenyszám: " + helyezesek.get(max).getVersenyszam()); System.out.println( "Sportolók száma: " + helyezesek.get(max).getDb()); } public static int pontszam( int helyezes) { int pont; if ( helyezes == 1 ) { pont = 7 ; } else if ( helyezes == 2 ) { pont = 5 ; } else if ( helyezes == 3 ) { pont = 4 ; } else if ( helyezes == 4 ) { pont = 3 ; } else if ( helyezes == 5 ) { pont = 2 ; } else { pont = 1 ; } return pont; } } |
Ha hibát találsz benne, kérlek jelezd!