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!
