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. Az adattároló osztályban néhány feladatot előkészítek, és a végső megoldásban ezeket használom.
Adattároló osztály:
/**
*
* @author https://webotlet.hu
*/
package webotlet_07okt_foci_java;
public class Meccs
{
private int fordulo;
private int hazaiVeg;
private int vendegVeg;
private int hazaiFel;
private int vendegFel;
private String hazai;
private String vendeg;
public Meccs( String[] tomb )
{
fordulo = Integer.parseInt(tomb[0]);
hazaiVeg = Integer.parseInt(tomb[1]);
vendegVeg = Integer.parseInt(tomb[2]);
hazaiFel = Integer.parseInt(tomb[3]);
vendegFel = Integer.parseInt(tomb[4]);
hazai = tomb[5];
vendeg = tomb[6];
}
public int getFordulo()
{
return fordulo;
}
public int getHazaiVeg()
{
return hazaiVeg;
}
public int getVendegVeg()
{
return vendegVeg;
}
public int getHazaiFel()
{
return hazaiFel;
}
public int getVendegFel()
{
return vendegFel;
}
public String getHazai()
{
return hazai;
}
public String getVendeg()
{
return vendeg;
}
@Override
public String toString()
{
return "Meccs{" + "fordulo=" + fordulo + ", hazaiVeg="
+ hazaiVeg + ", vendegVeg=" + vendegVeg + ", hazaiFel="
+ hazaiFel + ", vendegFel=" + vendegFel + ", hazai="
+ hazai + ", vendeg=" + vendeg + '}';
}
public String vegEredmeny()
{
return hazai + "-" + vendeg + ": " + hazaiVeg + "-"
+ vendegVeg + " (" + hazaiFel + "-" + vendegFel + ")";
}
public String golEredmeny()
{
String eredmeny;
if( hazaiVeg > vendegVeg )
{
eredmeny = hazaiVeg + "-" + vendegVeg;
}
else
{
eredmeny = vendegVeg + "-" + hazaiVeg;
}
return eredmeny;
}
}
A feladat megoldásai:
/**
*
* @author https://webotlet.hu
*/
package webotlet_07okt_foci_java;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Webotlet_07okt_foci_java
{
public static void main(String[] args)
{
// 1. feladat
Meccs[] meccsek = null;
try
{
RandomAccessFile raf = new RandomAccessFile("meccs.txt", "r");
meccsek = new Meccs[Integer.parseInt(raf.readLine())];
String sor;
int hely = 0;
for( sor = raf.readLine(); sor != null; sor = raf.readLine() )
{
meccsek[hely] = new Meccs( sor.split(" "));
hely++;
}
raf.close();
}
catch( IOException e )
{
System.out.println("HIBA");
}
// for( int i = 0; i < meccsek.length; i++ )
// {
// System.out.println(meccsek[i].toString());
// }
// 2. feladat
System.out.println("2. feladat");
Scanner sc = new Scanner(System.in);
System.out.println("Add meg a fordulo szamat!");
int fordulo = sc.nextInt();
for( int i = 0; i < meccsek.length; i++ )
{
if( meccsek[i].getFordulo() == fordulo )
{
System.out.println(meccsek[i].vegEredmeny());
}
}
// 3. feladat
System.out.println("3. feladat");
for( int i = 0; i < meccsek.length; i++ )
{
if( meccsek[i].getHazaiVeg() > meccsek[i].getVendegVeg()
&& meccsek[i].getHazaiFel() < meccsek[i].getVendegFel() )
{
System.out.println(meccsek[i].getFordulo() + " " + meccsek[i].getHazai());
}
else if( meccsek[i].getHazaiVeg() < meccsek[i].getVendegVeg()
&& meccsek[i].getHazaiFel() > meccsek[i].getVendegFel() )
{
System.out.println(meccsek[i].getFordulo() + " " + meccsek[i].getVendeg());
}
}
// 4. feladat
System.out.println("4. feladat");
sc = new Scanner(System.in);
System.out.println("Add meg egy csapat nevet!");
String csapat = sc.nextLine();
// 5. feladat
System.out.println("5. feladat");
int lott = 0;
int kapott = 0;
for( int i = 0; i < meccsek.length; i++ )
{
if( meccsek[i].getHazai().equals(csapat) )
{
lott += meccsek[i].getHazaiVeg();
kapott += meccsek[i].getVendegVeg();
}
else if( meccsek[i].getVendeg().equals(csapat) )
{
lott += meccsek[i].getVendegVeg();
kapott += meccsek[i].getHazaiVeg();
}
}
System.out.println("lott: " + lott + " kapott: " + kapott);
// 6. feladat
System.out.println("6. feladat");
int dbCsapat = 0;
for( int i = 0; i < meccsek.length; i++ )
{
if( meccsek[i].getHazai().equals(csapat)
&& meccsek[i].getHazaiVeg() < meccsek[i].getVendegVeg() )
{
dbCsapat++;
}
}
if( dbCsapat == 0 )
{
System.out.println("A csapat otthon veretlen maradt.");
}
else
{
Meccs[] csapatMeccsek = new Meccs[dbCsapat];
int hely = 0;
for( int i = 0; i < meccsek.length; i++ )
{
if( meccsek[i].getHazai().equals(csapat)
&& meccsek[i].getHazaiVeg() < meccsek[i].getVendegVeg() )
{
csapatMeccsek[hely] = meccsek[i];
hely++;
}
}
int min = 0;
for( int i = 1; i < csapatMeccsek.length; i++ )
{
if( csapatMeccsek[i].getFordulo() < csapatMeccsek[min].getFordulo() )
{
min = i;
}
}
System.out.println(csapatMeccsek[min].getFordulo() + " "
+ csapatMeccsek[min].getVendeg());
}
// 7. feladat
String[] eredmenyek = new String[meccsek.length];
int[] eredmenyekDb = new int[meccsek.length];
int hely = 0;
for( int i = 0; i < meccsek.length; i++ )
{
int hol = -1;
for( int j = 0; j < hely; j++ )
{
if( eredmenyek[j].equals(meccsek[i].golEredmeny()) )
{
hol = j;
break;
}
}
if( hol == -1 )
{
eredmenyek[hely] = meccsek[i].golEredmeny();
eredmenyekDb[hely] = 1;
hely++;
}
else
{
eredmenyekDb[hol]++;
}
}
try
{
RandomAccessFile ki = new RandomAccessFile("stat.txt", "rw");
ki.setLength(0);
for( int i = 0; i < hely; i++ )
{
ki.writeBytes(eredmenyek[i] + ": "
+ eredmenyekDb[i] + " darab\n");
}
ki.close();
}
catch( IOException e )
{
System.out.println("HIBA");
}
}
}
Ha hibát találsz benne, kérlek jelezd!
