这对你来说可能是一个愚蠢的问题,但对于java来说,我几乎是一个磨砂膏。
我想写一个方法public int sum()
,它通过我的列表,返回访问者总数。
我没有得到我应该在我的for-loop中写的东西。我尝试了“长度”等等,但这不是有原因的。
import java.util.*;
public class VisitorList {
BesucherTag head;
BesucherTag z;
public class VisitorDay {
public int day;
public int month;
public int year;
public int number;
VisitorDay next = null;
public VisitorDay(int day, int month, int year, int number){
this.day = day;
this.month = month;
this.year = year;
this.number = number;
}
}
public VisitorList(){
head = new VisitorDay(0,0,0,0);
z = new VisitorDay(0,0,0,0);
head.next = z;
z.next = z;
}
public int sum(){
for(int i = 0; i <= "?!" ; i++){
}
}
答案 0 :(得分:0)
看起来您正在尝试创建名为VisitorList
的自己的链接列表实现。您应该只使用java.util.LinkedList<VisitorDay>
。然后你将遍历列表:
java.util.List<VisitorDay> listOfVisitors = new java.util.LinkedList<VisitorDay>();
//code which adds your visitors
//now the loop
for(VisitorDay vd : listOfVisitors){
count++;
}
或者沿着这些方向发展。
答案 1 :(得分:0)
如果你需要实现自己的LinkedList,你会想要这样的东西。如果您不能使用列表,则使用数组。这就是Lists在幕后实现的方式。您还需要实施某种addVisitorDay
方法,该方法会添加dayList
并在达到容量时自动增加大小。
sum
方法应该放在VisitorList
类中。该类包含一个VisitorDay
s数组,您可以从中获取总和。
public class VisitorList {
public static final CAPACITY = 10;
VisitorDay[] dayList = new VisitorDay[CAPACITY];
public int sum(){
int sum = 0;
for (VisitorDay vd : dayList){
sum += vd.getNumber();
}
return sum;
}
}
public class VisitorDay{
private number;
public getNumber(){
return number;
}
}
编辑:忘记顶部的其他所有内容
public class VisitorDay {
public int day;
public int month;
public int year;
public int number;
public static sum = 0;
public VisitorDay(int day, int month, int year, int number){
this.day = day;
this.month = month;
this.year = year;
this.number = number;
sum += number;
}
public int sum(){
return sum;
}
}
由于每次创建sum
对象时字段static
都为VisitorDay
,因此总和将会增加。无论何时你想得到总和,只需调用sum()
方法,你就可以获得总和。