求和方法/ for循环

时间:2013-11-19 19:09:46

标签: java loops for-loop methods sum

这对你来说可能是一个愚蠢的问题,但对于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++){

                    }
}

2 个答案:

答案 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()方法,你就可以获得总和。