foutmelding: cannot find symbol - variable aantal

Moderators: jkien, Xilvo

Reageer
Berichten: 1

foutmelding: cannot find symbol - variable aantal

Hallo mensen,
Ik ben nieuw hier en weet eigenlijk niets van wat hier gebeurt behalve dat we elkaar kunnen helpen met probleempjes en dergelijke.
nou ik ben een beginner in programmeren. Ik zit namelijk vast met een opdracht. kan iemand aub helpen?
ik zou zeer dankbaar zijn!
Groeten.
Rash.
 
ik krijg een foutmelding: cannot find symbol - variable aantal.
/**

 * class Voorraad - geef hier een beschrijving van deze class

 *

 * @author (jouw naam)

 * @version (versie nummer of datum)

 */
import java.util.ArrayList;

import java.util.Iterator;
public class Voorraad

{

    // instance variables - vervang deze door jouw variabelen

    private ArrayList<Artikel> voorraad;
    /**

     * Constructor voor objects van class Voorraad

     */

    public Voorraad()

    {

        // geef de instance variables een beginwaarde

        voorraad = new ArrayList<Artikel>();
        voorraad.add(new Artikel("art1",5));

        voorraad.add(new Artikel("art2",20));

        voorraad.add(new Artikel("art3",10));

        voorraad.add(new Artikel("art4",6));

        voorraad.add(new Artikel("art5",25));

    }

    // Voegt een product toe aan de lijst.

    // @param-item Het item dat moet worden toegevoegd

    public void voegtoe (Artikel artikel)

    {

        voorraad.add(artikel);

    }
    public void addProduct(Artikel artikel)

    {

        if ( ! voorraad.contains(artikel)) {

            voorraad.add(artikel);

        }

    }
    public int getnumberOfArtikel()

    {

        return voorraad.size();

    }
    public void printLaagVoorraadArtikel (int upperLimit)

    {

        for (Artikel artikel : voorraad) {

            if (artikel.getAantal() <upperLimit) {

                System.out.println (artikel.toString());

            }

        }

    }
    // Print details van alle producten

    public void printArtikelDetails()

    {

        for(Artikel artikel : voorraad) {

            System.out.println(artikel.toString());

        }

    }

    //Informatie afdrukken over alle producten met voorraden beneden een bepaald voorraadniveau

    public int nummerInVoorraad(String omschrijving)

    {

        Artikel artikel = findArtikel(omschrijving);

        if (artikel != null) {

            return artikel.getAantal();

        }

        else {

            return 0;

        }

    }

    //Proberen in de voorraad een product met de opgegeven naam te vinden.

    public Artikel findArtikel(String omschrijving)

    {

        for (Artikel artikel : voorraad) {

            if (artikel.getNaam() == omschrijving) {

                return artikel;

            }

        }

        return null;

    }

    // public int getAantal()

    // {for (Artikel artikel : voorraad)

    // return aantal;

    // }
    public void listMatching(String searchString)

    {

        for ( Artikel artikel : voorraad ) {

            if (voorraad.contains(searchString)){

                System.out.println (artikel);

            }

        }

    }

    //verwijder bestanden

    public void removeArtikel(int index)

    {

        if ( index>= 0 && index < voorraad.size()){

            voorraad.remove(index);}

    }

    //artikel weergeven

    public void print () {

        if (voorraad.size () == 0 )

        {

            System.out.println ( " Geen artikels gevonden " ) ;}

        else

        {

            System.out.print (" Er zijn: ") ;

            System.out.println (voorraad.size () + " artikels in voorraad.");

        }

    }
    /**

     * Show a list of all the files in the collection,

     * along with their index values.

     */

    public void listAllArtikel()

    {

        // A variable to keep track of the index position.

        int position = 0;

        for(Artikel artikel : voorraad) {

            System.out.println(position + ": " + artikel );

            position++;

        }

    }
    public ArrayList<Artikel> bestel(int bestelling, String artikel)

    {

        ArrayList<Artikel>bestellijst = new ArrayList <Artikel>();

        int index = 10;

      for (Artikel voorraad: voorraad ){

        

            if (voorraad.getAantal() > bestelling)

          

                bestellijst.add(voorraad);

            }

       

    aantal = aantal - bestelling;

    return bestellijst;

}
 

Gebruikersavatar
Berichten: 2.906

Re: foutmelding: cannot find symbol - variable aantal

Helemaal onderaan je code heb je staan

Code: Selecteer alles

aantal = aantal - bestelling;
Maar je hebt helemaal nergens een variable met de naam 'aantal' gedefinieerd.
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }

Gebruikersavatar
Berichten: 2.906

Re: foutmelding: cannot find symbol - variable aantal

Overigens nog iets anders (dit heeft verder niks met je vraag te maken)  ik zie ook het volgende: 

Code: Selecteer alles

artikel.getNaam() == omschrijving
Bij het vergelijken van Strings moet je altijd equals() gebruiken i.p.v. ==
 
Je moet dit dus vervangen door:      

Code: Selecteer alles

artikel.getNaam().equals(omschrijving)
Om de volgende reden:

Code: Selecteer alles

//als we twee Strings definieren met dezelfde waarde, bijvoorbeeld:
String s1 = "hallo";
String s2 = "hallo";

//dan zal de volgende code 'not equal' printen, omdat s1 en s2 naar twee verschillende objecten verwijzen.
if(s1 == s2){
    System.out.println("equal");
}else{
    System.out.println("not equal"); 
}

//terwijl de volgende code 'equal' zal printen, omdat s1 en s2 dezelfde waarde hebben.
if(s1.equals(s2)){
    System.out.println("equal");
}else{
    System.out.println("not equal");
}
while(true){ Thread.sleep(60*1000/180); bang_bassdrum(); }

Reageer