Folgende Aufgabe habe ich auf bekommen:
jemacht habe ich folgendes:
HauptProgramm
Test Java Programm
Fehler bekomme ich:
Kann mir jemand weiter helfen? bin mit mein Latain am ENDE
(
Vor der letztj¨ahrigen Fussball-WM war wieder das Sammelfieber ausgebrochen. Vor allem bei Kindern
waren die T¨uten der Firma Panini mit den Bildern der Fussballstars heiß begehrt. Jede T¨ute, in der 5
Bilder enthalten waren, kostete 50 Cent und das Sammelalbum zur Fussball-WM umfasste 596 Bilder.
Schreiben Sie ein Programm, mit dem das Sammeln und Tauschen simuliert werden kann.
(a) Realisieren Sie eine Klasse, die ein Sammelalbum repr¨asentiert. Bilder werden dabei durch Zahlen
zwischen 0 und 595 dargestellt. Implementieren Sie Methoden f¨ur:
– das Hinzuf¨ugen eines Bildes in ein Sammelalbum. Doppelte Bilder sollen dabei vermerkt
werden, so dass sie sp¨ater getauscht werden k¨onnen;
– die Ermittlung wichtiger Kennzahlen (Anzahl Bilder im Album ohne Doppelte, Anzahl fehlender
Bilder, Anzahl doppelter Bilder);
– das Tauschen mit einem anderen Sammelalbum. U¨ berlegen Sie sich hierzu einen geeigneten
Tauschalgorithmus.
(b) Wie viele Bilder befinden sich in einem Album, wenn man N T¨uten kauft? Realisieren Sie ein
Testprogramm, mit dem das Kaufen und Sammeln simuliert wird. Die N T¨uten sollen zuf¨allig mit
Bildern gef¨ullt und die Bilder einem Album zugef¨uhrt werden. Geben Sie die Kennzahlen vor und
nach dem Tauschen aus, um zu sehen, was Tauschen bringt.
Hinweis: Mit der Klasse java.util.Random k¨onnen Sie Zufallszahlen erzeugen.
Beispiel:
> java Sammeln 140
Nach dem Kauf von 140 Tueten haben wir
Bilder in Album 1: 415, Doppelte: 285, Fehlende: 181
Bilder in Album 2: 410, Doppelte: 290, Fehlende: 186
Jetzt wird getauscht ... fertig!
Bilder in Album 1: 541, Doppelte: 159, Fehlende: 55
Bilder in Album 2: 536, Doppelte: 164, Fehlende: 60
jemacht habe ich folgendes:
HauptProgramm
Code:
package album;
import java.util.Random;
public class Haupt_Prog {
public static int karte;
public int[] erstelleFolge(int a){
int i;
karte=a*5; // 700 esittir karte....
Random generator = new Random();
int [] randomNums = new int [karte];
for (i = 0; i < randomNums.length; i++)
{
randomNums[i] = generator.nextInt( 596 );
}
return randomNums;
}
public int[] ExisBildNenne(int[] a){
int i,m,j,k,q=0,exis=0,fehlende,doppelte;
int [] album = new int[596];
for(i=0;i<=595;i++)
{
album[i]=777; //sabit deger atadik...
}
k=a[0];
album[k]=k;
for(i=0;i<=karte-1;i++){
j=i+1;
while(j<=karte-1)
{
if((a[i]) != (a[j]))
{
k=a[j];
album[k]=k; //assigning unique numbers...
}
//else{
// q=randomNums[i];
// DoppelteFolge[q]=q; //assigning double numbers...
// }
j++;
}
}
for(i=0;i<=595;i++)
{
if(album[i]!=777)
exis++;
}
fehlende=596-exis;
doppelte=karte-exis;
System.out.println("Bilder in Album:"+exis+"...Doppelte:"+doppelte+"...Fehlende:"+fehlende);
return album; //tek leri cevir....
}
public int[] MacheDoppelt(int[] Randomp){
int [] DoppelteFolge = new int[596];
int exis=0,i,q,j;
int doppelte,fehlende;
for(i=0;i<=595;i++)
{
DoppelteFolge[i]=777; //random value are assigned...to differentiate..
}
for(i=0;i<=karte-1;i++){
j=i+1;
while(j<=karte-1)
{
if((Randomp[i]) == (Randomp[j]))
{
q=Randomp[i];
DoppelteFolge[q]=q; //assigning double numbers...
}
j++;
}
}
return DoppelteFolge;
}
public int NenneDoppelt(int[] Ar,int[] c_doppelt) // tekdizi 1 ile DoppelteFolge 2 al...
{
int exis=0,i=0;
while(i<=595){
if(Ar[i] == c_doppelt[i]){ //exis dizisiyle doppelte dizisini karsilastir
i++;
}
else{
if(Ar[i]==777){
Ar[i]=c_doppelt[i];
}
}
i++;
}
for(i=0;i<=595;i++)
{
if(Ar[i] != 777)
exis++;
}
return exis;
}
}
Test Java Programm
Code:
package album;
import java.util.Random;
public class Test {
public static int karte;
public static void main(String[] args) {
int [] Ar1,DoppelteFolge1 = new int[596];
int [] Ar2,DoppelteFolge2 = new int[596];
int [] Rand1 = new int[596];
int [] Rand2 = new int[596];
int [] ccc = new int[596];
int i=0;
int exis1;
int doppelt;
int fehlt1;
int exis2;
int doppelt2;
int fehlt2;
System.out.println("Nach dem Kauf von..."+args[0]+".Tueten haben wir...");
int a = Integer.parseInt(args[0]);
karte = a*5;
Haupt_Prog Bilder1 = new Haupt_Prog();
//Haupt_Prog Bilder2 = new Haupt_Prog();
Rand1 = Bilder1.erstelleFolge(a); //random olustur...
//Rand2 = Bilder2.erstelleFolge(a);
Ar1 = Bilder1.ExisBildNenne(Rand1); //randomi gonder array tekleri olustur...
// Ar2 = Bilder2.ExisBildNenne(Rand2);
//calisti buraya kadar...
DoppelteFolge1 = Bilder1.MacheDoppelt(Rand1); //randomi gonder tekler atanmisti simdi c_dopeltleri ata...
// DoppelteFolge2 = Bilder2.MacheDoppelt(Rand2);
exis1 = Bilder1.NenneDoppelt(Ar1,DoppelteFolge2);
// exis2 = Bilder2.NenneDoppelt(Ar2,DoppelteFolge1);
System.out.println("Jetzt wird getauscht ... fertig ! ...");
//-------------------------
fehlt1=596-exis1;
fehlt2=596-exis2;
//----------------------
doppelt=karte-exis1;
// doppelt2=karte-exis2;
System.out.println("Bilder in Album 1 :"+exis1+"...Doppelte:"+doppelt+"...Fehlende:"+fehlt1);
System.out.println("Bilder in Album 2 :"+exis2+"...Doppelte:"+doppelt2+"...Fehlende:"+fehlt2);
}
}
Fehler bekomme ich:
Test.java:29: cannot find symbol
symbol : class Haupt_Prog
location: class album.Test
Haupt_Prog Bilder1 = new Haupt_Prog();
^
Test.java:29: cannot find symbol
symbol : class Haupt_Prog
location: class album.Test
Haupt_Prog Bilder1 = new Haupt_Prog();
^
2 errors
Kann mir jemand weiter helfen? bin mit mein Latain am ENDE