[Algemeen] Programmeren

Discussie in 'PC, Handheld & Algemeen' gestart door Modder-Eter, 5 apr 2007.

  1. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Je moet de Polissen in de Arraylist aanroepen. Ik weet niet of het een <Polis> Arraylist is of dat hij undeclared is, maar je moet dus voor iedere klant arraylistnaam.get(index).getPrijs() aanroepen. Voor al je polissen moet je dus alle indexen nalopen.

    Rekening kan namelijk niet terugkijken naar Polis, maar omdat je een Arraylist met Polissen in Klant hebt gedeclareerd kun je die wel gebruiken om de methodes van Polis te bereiken.
     
  2. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    Hmm, straks uitproberen. Ik begin nu al weer op andere problemen te stuiten. Best irritant om met andere klasse in een klasse te werken.
     
  3. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Is juist heerlijk. Wat vind je er dan vooral lastig aan?
     
  4. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    Nou, ik heb in mijn klasse Klant dus een Arraylist met de afgesloten polissen, die je met de methode 'voegtoe' kan toevoegen. Nu wil ik een toestring maken waar komt te staan ' Naam: <ingevoerde naam>, Inschrijvingsdatum: <ingevoerde inschrijvingsdatum>, afgesloten polissen <de namen v/d afgesloten polissen>. Alles lukt t/m de namen van de polissen. Ik heb geen idee hoe ik een toString moet maken, waarin je:

    - Meerdere polissen kan tegen komen
    - Met alleen de omschrijving

    Ik heb geprobeerd een losse methode te maken om de omschrijvingen van de toegevoegde polissen te krijgen, maar dat is al mislukt. Daarnaast zat ik te denken aan zaken zoals 'for' of 'if' te gebruiken, maar ik kan nergens opkomen.

    E: In de klasse 'Polis' is er trouwens al een methode om de omschrijving op te vragen. Die wou ik namelijk ook gebruiken voor een zoekmethode in een andere klasse.

    E2: Ik zou ook een print methode kunnen gebruiken, maar ik wil kijken of het ook mogelijk is met een toString.
     
    Laatst bewerkt: 28 mei 2011
  5. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Ik weet niet wat de specificaties zijn, maar kun je niet de tostring uit de Polis klasse aanroepen voor alle Polissen in die andere tostring?
     
  6. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    De toString in Polis geeft meer informatie dan ik nodig heb. Ik kan de broncodes opzicht posten, als je het wilt zien?
     
  7. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Dan kan je het natuurlijk makkelijk in een for-loopje doen.

    Code:
    for(Polis polis : arraylist) {
     huidige string + "stuff die je erbij wilt";
    }
    Maarja, ik weet natuurlijk niet hoe het is opgebouwd of opgebouwd moet worden. Het is slechts natuurlijk een hint. ;)
     
  8. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    Dan krijg ik dus dit:

    Hier geeft het aan dat het een ';' mist na de aanroeping van de get-methode.
     
  9. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Nee, dat is ook niet goed. Je kan niet returnen in een for loop.

    Wat is de hele code? :p

    Ik bedoel dit:

    Code:
    public String toString ()
    {
    
      String s = "Naam: " + Naam, + "Inschrijvingsdatum: " + Datum, + "Afgesloten polissen: ";
    
      for ( Polis polis : lijst)
      {
        s += polis.getOmschrijving() + ", " ;
      }
      return s;
    
    } 
     
  10. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    Broncode voor Polis:


    Broncode voor de Klant, waar ik dus vast zit:


    Ik ben me toch een grote newbie.
     
  11. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Probeer eens wat ik net heb gepost. Je huidige tostring werkt namelijk niet zoals je wilt.

    Wat je dus moet doen is eerst de string t/m de polissen creeren en in een String variabele stoppen. En dan kan je in een for-loop alle polissen nagaan en die aan de string vastplakken. Als alles dan klaar is kan je returnen.
     
  12. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    Code ziet er logisch uit. Ik voel me nu best dom aangezien ik zoiets in een iets andere vorm bij een andere opdracht heb gedaan. IIG, het geeft bij

    aan dat het een identifier verwacht. Mag ik vraen waarom er ook na de '+' bij 's +' een '=' komt en waarom komt na de aanroeping nog ','?
     
  13. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Er staan blijkbaar nog komma's naast je identifiers, dus naast Naam en Datum. ;) Dan herkent hij natuurlijk niet de variabelen.

    s += "bla" is een verkorting voor s = s + "bla". Gemakzucht dus. :+

    Die ", " heb ik puur neergezet zodat hij komma's tussen de achtereenvolgende omschrijvingen van de Polissen neer zet.


    += en -= kan je dus ook gebruiken bij andere variabelen, zoals integers. Het neemt dus de variabele links van de operator en voegt daar hetgene rechts van de operator aan toe.
     
  14. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    That makes sense. Thanks! Echter, nu komt er weer een probleem 8). Enig idee, als je de code van Klant hier ziet:


    waarom er bij de uitvoering van toString ''Naam: null, blablalba'' komt te staan? Hij pakt de naam niet, ookal heb ik het goed ingevoerd.
     
  15. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Kijk eens goed wat je doet in je constructor. ;)
     
  16. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    :F:. Stupid me. Soms vergeet ik dat BlueJ/Java hoofdletter gevoelig is.

    E: Ik zal wss weer tegen een lamp aanlopen. Is het goed als ik hier weer me vragen stel als ik er niet uitkom?
     
    Laatst bewerkt: 29 mei 2011
  17. Modder-Eter

    Modder-Eter XBW.nl VIP XBW.nl VIP

    Berichten:
    21.606
    Leuk Bevonden:
    8.734
    Tsja, dat soort kleine foutjes ga je nog heel veel tegenkomen.
    Dat wordt nog veel leuker als je honderden regels code hebt en je door zo'n klein dingetje echt 100 errors krijgt. :+
     
  18. PowerLines

    PowerLines #Lemonade

    Berichten:
    3.990
    Leuk Bevonden:
    1
    NVM, al opgelost op een andere manier.
     
    Laatst bewerkt: 29 mei 2011
  19. Duke_Jay

    Duke_Jay Active Member

    Berichten:
    1.076
    Leuk Bevonden:
    0
    Misschien een stomme vraag maar wat is het nut van de regel:
    public static void main(String[] args)
    in Java programeren?
     
  20. Pegas

    Pegas XBW.nl VIP XBW.nl VIP

    Berichten:
    8.799
    Leuk Bevonden:
    22
    Dat is de methode waar je programma begint. Daarom dat het static is, er zijn namelijk nog objecten gemaakt en dus moet je die methode kunnen aanroepen zonder een object. De "args" zijn eventuele parameters (in de command line) die je meegeeft bij het opstarten van je programma. De methode is public omdat die natuurlijk door de JVM moet aangeroepen kunnen worden en het geeft een void terug omdat, eens die methode ten einde is het programma stopt en dus niets kan terug geven.
     

Deel Deze Pagina