2D array of iets anders?

Status
Niet open voor verdere reacties.

Sameer

Gebruiker
Lid geworden
6 aug 2013
Berichten
29
Dag allen

Ik moet dus in een apart class ingegeven data bij houden. Maar hoe doe ik dit?

Code:
public class WijnApp {
	public static void main(String[] args) {

		Wijn franseWijn = new Wijn("Domaine de la Jardine", "Rood", "Frankrijk", 2014, 14);
		franseWijn.setDruivenras("Merlot");
		franseWijn.setOmschrijving("Licht, soepel en fruitig");
		franseWijn.setRegio("Pays d'Oc");
		franseWijn.setServeerTip("Gevogelte");

		System.out.println(franseWijn.getLabel());
		System.out.println();
		
		
		Wijnkistje wijnkistje = new Wijnkistje();

		wijnkistje.voegWijnToe(new Wijn("Parra", "Wit", "Spanje", 2001, 11.5));
		wijnkistje.voegWijnToe(new Wijn("Domaine de la Jardine", "Rood", "Frankrijk", 2016, 14));
		wijnkistje.voegWijnToe(new Wijn("Montebello Grande Bellezza", "Rood", "Italië", 2012, 13));
		wijnkistje.voegWijnToe(new Wijn("Venero", "Rood", "Spanje", 2003, 11.5));
		wijnkistje.voegWijnToe(franseWijn);
		wijnkistje.voegWijnToe(new Wijn("Domaine de la Vertier", "Rosé", "Frankrijk", 2006, 12.5));
		wijnkistje.voegWijnToe(new Wijn("Montegrande", "Wit", "Italië", 2012, 10.5));

		System.out.println();
		System.out.println(wijnkistje);
		System.out.println();

		System.out.println("Aantal Rood in wijnkistje: " + wijnkistje.telKleur("Rood"));

	}
}

Dus het gaat over die wijnkistje.voegWijnToe......

Class Wijn is ok, maar hoe begin ik aan die class wijnkistje???


heel erg bedankt.
 
Als je in Wijnkistje een property "flessen" als Array bijhoudt, kun je die gebruiken in je methode "voegWijnToe". In die methode voeg je dan steeds een object toe aan de array.
 
vorige is ook juist maar als aanvulling

als je volgens volgende code kijkt
ref:https://www3.ntu.edu.sg/home/ehchua/programming/java/J5c_Collection.html
Code:
List<String> lst = new ArrayList<String>();
lst.add("alpha");
lst.add("beta");
lst.add("charlie");
 
// Retrieve the Iterator associated with this List via the iterator() method
Iterator<String> iter = lst.iterator();
// Transverse thru this List via the Iterator
while (iter.hasNext()) {
   // Retrieve each element and process
   String str = iter.next();
   System.out.println(str);
}

stel je extend van Arraylist
Code:
... wijnkistje extends ArrayList ...

of volgens
ref:http://balusc.blogspot.com/2007/01/generics.html

Code:
public class DataTransferObject<T1, T2> {

    private T1 data1;
    private T2 data2;

    public void add(T1 data1, T2 data2) {
        this.data1 = data1;
        this.data2 = data2;
    }

    public T1 getData1() {
        return data1;
    }

    public T2 getData2() {
        return data2;
    }

}
Binnen eigen klassen kun je de typen inderdaad een willekeurige naam geven, zoals T1, T2 of eventueel Type1, Type2 of zelfs A, B, C, etcetera. Het maakt niet uit hoeveel typen je opgeeft. Let wel, wanneer je de naam van een bestaande klasse gebruikt, zoals Integer, String, etc, dan wordt de bestaande klasse overgeschreven met de gegeven type!

Zo'n klasse kan dan bijvoorbeeld als volgt worden gebruikt, compleet met een gesimuleerde foutmelding:
Code:
public void test() {

    // Declareer en initialiseer een DTO dat een String en een Integer kan bevatten.
    DataTransferObject<String, Integer> dto1 = new DataTransferObject<String, Integer>();
    dto1.add("Een", new Integer("1"));

    // Declareer en initialiseer een DTO dat een String en een Integer kan bevatten.
    DataTransferObject<String, Integer> dto2 = new DataTransferObject<String, Integer>();
    dto2.add(1, "Een"); // Fout: de types komen niet overeen.
}
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan