我有一个带有这个构造函数的类:
Artikel(String name, double preis){
this.name = name;
verkaufspreis = preis;
Art = Warengruppe.S;
我有这个构造函数的第二个类:
Warenkorb(String kunde, Artikel[] artikel){
this.kunde = kunde;
artikelliste = artikel;
sessionid = s.nextInt();
summe = 0;
for(Artikel preis : artikel){
summe += preis.verkaufspreis;
}
}
如何让Artikel进入Warenkorb和artikelliste阵列?
答案 0 :(得分:3)
new Warenkorb("Dieter", new Artikel[] {new Artikel("Kartoffel", 0.25))};
这是你想要做的吗?
答案 1 :(得分:2)
这是你想要的吗?
Artikel[] artikels = new Artikel[2];
artikels[0] = new Artikel("John Doe", 0);
artikels[1] = new Artikel("Jane Doe", 1);
Warenkorb w = new Warenkorb("something", artikels);
你的问题并不清楚你想做什么......
答案 2 :(得分:2)
而且,看起来你正在使用Java 1.5+,尝试使用Warenkorb的替代方案:
Warenkorb(String kunde, Artikel...artikel){
this.kunde = kunde;
artikelliste = artikel;
sessionid = s.nextInt();
summe = 0;
for(Artikel preis : artikel){
summe += preis.verkaufspreis;
}
}
这样写的,你可以摆脱丑陋的数组符号并构造一个像这样的Warenkorb:
new Warenkorb("Dieter", new Artikel("Kartoffel", 0.25)};
new Warenkorb("Günther", new Artikel("Kartoffel", 0.25), new Artikel("Tomate", 0.25)};
答案 3 :(得分:1)
使用Iterable而不是Array的替代方法:
Warenkorb(String kunde, Iterable<? extends Artikel> artikel){
this.kunde = kunde;
artikelliste = artikel;
sessionid = s.nextInt();
summe = 0;
for(Artikel preis : artikel){
summe += preis.verkaufspreis;
}
}
仍然可以使用其他基于数组的语法构建,但也包括:
new Warenkorb("Buffy", Arrays.asList(new Artikel("foo",0.0), new Artikel("bar",1.0));
适用于Iterable
的任何实施,例如ArrayList
或HashSet
等