Archief - java BordvanGalton

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

guitarfreak

Legacy Member
hey allemaal ik moet een Programma schrijven in java "Het bord van galton

de bedoeling is dat ik dit op het scherm print
ik zou het automatisch, stapvoorstap kunne simuleren en ook het programma laten stoppen
ik probeer eerst automatisch te programeren en dan stapvoorstap en dan alles in 1 steken nu heb ik een probleem ik krijg 1 error namelijk: C:\Users\xxx\Documents\java>javac Test1.java
Test1.java:195: error: cannot find symbol
test1.aantalSimulaties();
^
symbol: method aantalSimulaties()
location: variable test1 of type Test1
1 error



het programma is dit

public class Test1 {
public void Start() {
doeAutomatischeSimulatie();
stopProgramma();
double doeAutomatischeSimulatie;
int aantalSimulaties;
System.out.println("=== Bord van Galton simulator ===");
System.out.println("");
System.out.println("");
System.out.println("Wat wil je doen?");
System.out.println(" 1) Stap voor stap het bord berekenen.");
System.out.println(" 2) Automatisch het bord berekenen.");
System.out.println(" 3) Het programma stoppen.");
System.out.println(" keuze :");


}
public void jouwKeuze() {
String keuze;
keuze = Input.readString();

do {
keuze = Input.readString();
}
while ( !keuze.equals("1") && !keuze.equals("2") && !keuze.equals("3") );


}


public void keuzes() {
String keuze;
stopProgramma();
keuze = Input.readString();

if(keuze.equals("2")) {
doeAutomatischeSimulatie();
AantalSim();
}

else if (keuze.equals("3")){
stopProgramma();
}
}

public void doeAutomatischeSimulatie() {
double getal1 = 0, getal2 = 1000;
int aantalSimulaties;

do {
System.out.println("Hoeveel simulaties wil je uitvoeren?(minimaal 0,maximaal 1000)");
aantalSimulaties = Input.readInt();
}
while ( aantalSimulaties <= 0 || 1000 <= aantalSimulaties );

}
public void AantalSim() {
long y;
int aantalSimulaties;

for ( y = 0 ; y < aantalSimulaties ; y ++) {
deAlgoritme();
tellenVanBalletjes();
}
}
public void deAlgoritme() {//berekenen waar de balletjes gaan neervallen(balletjeslinksofrechts)
int balletjeLinksOfRechts, linksOfrechts;
balletjeLinksOfRechts = 0;
for( int x = 0 ; x <= 5 ; x ++ ) {

linksOfrechts = (int)(Math.random() * 2);
System.out.println(linksOfrechts);
if (linksOfrechts == 0) {

balletjeLinksOfRechts -- ;// Balletje valt naar links als x groter is dan linksofrechts
}
else if (linksOfrechts == 1) {
balletjeLinksOfRechts ++ ;//Balletje valt naar rechts als 0,5 kleiner is dan linksofrechts
}


}
}

public void tellenVanBalletjes() {//de plaats waar het balletje is gevallen optellen bij het bakje
int balletjeLinksOfRechts;
long bakje1 = 0 ; long bakje2 = 0 ; long bakje3 = 0 ; long bakje4 = 0 ; long bakje5 = 0 ;
long bakje6 = 0 ;long bakje7 = 0 ;

switch( balletjeLinksOfRechts) {

case 0: //balletje 6 keer L
bakje1 ++ ;
break;

case 1: //balletje 5 keer L en 1 keer R
bakje2 ++ ;
break;

case 2://balletje 4 keer L en 2 keer R
bakje3 ++ ;
break;

case 3://balletje 3 keer L en 3 keer R
bakje4 ++ ;
break;

case 4: //balletje 2 keer L en 4 keer R
bakje5 ++ ;
break;

case 5: //balletje 1 keer L en 5 keer R
bakje6 ++ ;
break;

case 6: // balletje 6 keer R
bakje7 ++ ;
break;
default: System.out.println(">> " + balletjeLinksOfRechts);
}
}

public void plaatsenVanBalletjes(){//het balletje bij het bakje optellen
long bakje1 = 0 ; long bakje2 = 0 ; long bakje3 = 0 ; long bakje4 = 0 ; long bakje5 = 0 ;
long bakje6 = 0 ;long bakje7 = 0 ;
System.out.println("| " + bakje1 + " | " + bakje2 + " | " + bakje3 + " | " + bakje4 + " | "
+ bakje5 + " | " + bakje6 + " | " + bakje7 + " | ");


}
public void stopProgramma() {
System.out.println("Programma sluit af");

}

public void Sterren() {
lijn1();
lijn2();
lijn3();
lijn4();
lijn5();
lijn6();
}

public void lijn1() {
System.out.println(" * ");
}

public void lijn2() {
System.out.println(" * * ");
}

public void lijn3() {
System.out.println(" * * * ");
}

public void lijn4() {
System.out.println(" * * * * ");
}

public void lijn5() {
System.out.println(" * * * * * ");
}

public void lijn6() {
System.out.println(" * * * * * * ");
}

public void Streep() {
bakken();
}
public void bakken() {
System.out.println( "|1|2|3|4|5|6|7|");
}



public static void main(String[] args) {
Test1 test1 = new Test1();
test1.Start();
test1.doeAutomatischeSimulatie();
test1.jouwKeuze();
test1.deAlgoritme();
test1.tellenVanBalletjes();
test1.plaatsenVanBalletjes();
test1.aantalSimulaties();
test1.stopProgramma();
System.out.println("Uw keuze is : " + keuze);
test1.Sterren();
test1.Streep();


}

}

Dit is de automatische simulatie maar ik zie de ene error niet .. help??? :(

Albireo

Legacy Member
---> int aantalSimulaties;

---> test1.aantalSimulaties();

Bedoelde je misschien test1.AantalSim() ?

guitarfreak

Legacy Member
heb het geprobeerd maar dat is het ook niet nu krijg ik :

C:\Users\xxx\Documents\java>javac Test1.java
Test1.java:195: error: cannot find symbol
test1.aantalSim();
^
symbol: method aantalSim()
location: variable test1 of type Test1
1 error

guitarfreak

Legacy Member
Albireo zei:
---> int aantalSimulaties;

---> test1.aantalSimulaties();

Bedoelde je misschien test1.AantalSim() ?


heb het geprobeerd maar dat is het ook niet nu krijg ik :

C:\Users\xxx\Documents\java>javac Test1.java
Test1.java:195: error: cannot find symbol
test1.aantalSim();
^
symbol: method aantalSim()
location: variable test1 of type Test1
1 error

guitarfreak

Legacy Member
Albireo zei:
---> int aantalSimulaties;

---> test1.aantalSimulaties();

Bedoelde je misschien test1.AantalSim() ?

jah srry voor de dubbele quote dit is de laatste error dat ik kreeg met de aanpassingen die je me zei :

C:\Users\xxx\Documents\java>javac Test.java
Test.java:204: error: cannot find symbol
System.out.println("Uw keuze is : " + keuze);
^
symbol: variable keuze
location: class Test
1 error
nogtans heb ik keuze geinisialiseerd met String keuze....

Albireo

Legacy Member
Je hebt keuze geïnitialiseerd in een method in je class, maar in je static void main-method bestaat keuze niet. Een oplossing is om van keuze een private field te maken die je in je main method kan uitlezen via een public method van Test1.

guitarfreak

Legacy Member
Albireo zei:
Je hebt keuze geïnitialiseerd in een method in je class, maar in je static void main-method bestaat keuze niet. Een oplossing is om van keuze een private field te maken die je in je main method kan uitlezen via een public method van Test1.


uhm private field nooit gezien in de les dus ik kan het eigelijk niet gebruiken weet je een andere methode om dit error weg te krijgen?

Albireo

Legacy Member
Code:
public string jouwKeuze() {
    String keuze;
    keuze = Input.readString();

    do {
        keuze = Input.readString();
    } while ( !keuze.equals("1") && !keuze.equals("2") && !keuze.equals("3") );
    return keuze;
}

Nu kan je je Main als volgt aanpassen:
Code:
public static void main(String[] args) {
    // other code
    String keuze=test1.jouwKeuze();
    // other code
    System.out.println("Uw keuze is : " + keuze);
    // other code
}

Een variable gedefinieerd op het niveau van de class noemt men een field of een member of een attribute (daar lijkt weinig eensgezindheid over te bestaan)
voorbeeld van het gebruik van een field:
Code:
class GaltonBox {
    private String choice;
    public void YourChoice() {
        do {
            choice = Input.readString();
        } while ( !choice.equals("1") && !choice.equals("2") && !choice.equals("3") );
    }
    public String GetChoice() {
        return choice;
    }
    public static void main(String[] args) {
        GaltonBox gb=new GaltonBox();
        gb.YourChoice();
        System.out.println("Uw keuze is : " + gb.GetChoice());
    }
}

guitarfreak

Legacy Member
Albireo zei:
Code:
public string jouwKeuze() {
    String keuze;
    keuze = Input.readString();

    do {
        keuze = Input.readString();
    } while ( !keuze.equals("1") && !keuze.equals("2") && !keuze.equals("3") );
    return keuze;
}

Nu kan je je Main als volgt aanpassen:
Code:
public static void main(String[] args) {
    // other code
    String keuze=test1.jouwKeuze();
    // other code
    System.out.println("Uw keuze is : " + keuze);
    // other code
}

Een variable gedefinieerd op het niveau van de class noemt men een field of een member of een attribute (daar lijkt weinig eensgezindheid over te bestaan)
voorbeeld van het gebruik van een field:
Code:
class GaltonBox {
    private String choice;
    public void YourChoice() {
        do {
            choice = Input.readString();
        } while ( !choice.equals("1") && !choice.equals("2") && !choice.equals("3") );
    }
    public String GetChoice() {
        return choice;
    }
    public static void main(String[] args) {
        GaltonBox gb=new GaltonBox();
        gb.YourChoice();
        System.out.println("Uw keuze is : " + gb.GetChoice());
    }
}


het is gelukt dankuu :applause:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan