Opdrachten hoofdstuk 4

Plaats reactie
Dave
Berichten: 5
Lid geworden op: 05-09-2013 16:51

Opdrachten hoofdstuk 4

Bericht door Dave » 14-09-2013 18:54

Wie heeft er de oplossing voor opdracht 4.16?

In plaats van de if else expressie te gebruiken om te valideren moet je een andere methode dit laten doen.

Ik heb geen idee hoe ik dit voor elkaar moet krijgen...

wesleyv
Berichten: 10
Lid geworden op: 29-08-2013 16:41

Bericht door wesleyv » 15-09-2013 15:12

Je moet wel een IF gebruiken, maar dan de if laten controlleren met de uitkomst van de methode validindex.

Ofwel, validindex wordt aangeroepen met een index, en zal aan de hand van die index kijken of die geldig is. zoja, krijg je True terug.

Een if constructie moet True zijn om uitgevoerd te worden, dus de uitkomst van validindex kan je door IF laten valideren.

Om een lang verhaal kort te maken zou je normaal doen:

Code: Selecteer alles


    public void listFile(int index)
    {
        boolean isValid  = validIndex(index); // wordt true of false
        if(isValid){ //kijkt of variable true of false is.
........

Dit stuk code kan je verkorten door direct de uitkomst te valideren in je IF expressie:

Code: Selecteer alles


    public void listFile(int index)
    {
        if(validIndex(index)) {
.......
Laat maar weten of het nu duidelijk is :-)

Luc
Berichten: 9
Lid geworden op: 29-08-2013 12:27

Opdracht 4.36

Bericht door Luc » 15-09-2013 18:49

Ben op dit moment bezig met opdracht 4.36 en krijg geen goede output bij mijn code:

Code: Selecteer alles


public void printProductDetails()
    {
       stock.toString();
       System.out.println(stock.toString());
                
    }

Ik krijg namelijk [] als waardes terug, wat doe ik hier fout ?
Ik roep deze methode aan :

Code: Selecteer alles


public String toString()
    {
        return id + ": " +
               name +
               " stock level: " + quantity;
    }

PS Het gaat om opdracht 4.36 uit de 4e druk van het boek over het project: Product

marcel
Berichten: 13
Lid geworden op: 29-08-2013 17:59

Bericht door marcel » 15-09-2013 19:32

Het lijkt erop alsof je de toString methode van de verkeerde klasse aanroept. Ik denk dat je de methode van de Product klasse moet aanroepen en nu roep je de toString() methode van de Stock klasse aan.

stock.toString() is de default java implementatie van de Object.toString() methode. Deze geeft een omschrijving van je objectType terug. In dit geval is stock een array van produkten, dus vandaar de '[]'.

Ik denk dat je voor deze opdracht door de array stock moet lopen en voor elk product in deze array de Product.toString() methode aanroepen.

Code: Selecteer alles


        for(Product product: stock)
        {
            System.out.println(product.toString());
        }

Kitty
Berichten: 11
Lid geworden op: 28-08-2013 13:12

Bericht door Kitty » 16-09-2013 18:08

Ik ben momenteel bij opgave 4.54

Code: Selecteer alles

/**
     * Bereken het aantal leden dat lid geworden is in de 
     * betreffende maand.
     * @param month De maand waarover we informatie willen.
     * @return Het aantal leden dat lid geworden is
     */
    public int joinedInMonth(int month) {
        if(month >= 1 && month <=12) {
		for(Membership member : members) {
		}
                return 0; // Nog aanpassen
        } else {
            System.out.println("De opgegeven maand bestaat niet");
            return 0;
        }
    }
Ik blijf een error krijgen als ik compile: cannot find symbool - variable members
Wat doe ik verkeerd?

marcel
Berichten: 13
Lid geworden op: 29-08-2013 17:59

Bericht door marcel » 16-09-2013 19:24

Is binnnen je klasse het veld members wel gedefinieerd?
Zoals in:

Code: Selecteer alles


private ArrayList<Membership> members;

marcel
Berichten: 13
Lid geworden op: 29-08-2013 17:59

Bericht door marcel » 16-09-2013 19:24

Is binnnen je klasse het veld members wel gedefinieerd?
Zoals in:

Code: Selecteer alles


private ArrayList<Membership> members;

Kitty
Berichten: 11
Lid geworden op: 28-08-2013 13:12

Bericht door Kitty » 16-09-2013 21:12

Thanks dat was het.. soms kun je op zulke kleine dingen lang blijven hangen..

Plaats reactie