Java 初学者寻找方法指导

Java 初学者寻找方法指导,java,methods,Java,Methods,我正在尝试完成一个项目,在这个项目中,我们必须获取一组介于0和364之间的随机数数据,并查看有多少百分比的运行(该方法获取数据集中的项目数和运行数)中存在重复数 以下是我到目前为止的情况,但我一直在努力找出如何做到这一点,因为我不断地遇到错误: public double calculate(int size, int count) { double percentage; int matches = 0; int check; int i = 0; i

我正在尝试完成一个项目,在这个项目中,我们必须获取一组介于0和364之间的随机数数据,并查看有多少百分比的运行(该方法获取数据集中的项目数和运行数)中存在重复数

以下是我到目前为止的情况,但我一直在努力找出如何做到这一点,因为我不断地遇到错误:

public double calculate(int size, int count) {

    double percentage;
    int matches = 0;
    int check;
    int i = 0;
    int add = 0;
    Random rnd = new Random();

    List<Integer> birthdays = new ArrayList<>();

    for (int k = 1; k <= count; k++){
        rnd.setSeed(k);
        do{
            add = rnd.nextInt(365);
            birthdays.add(add);
            i++;
        }while (i < size-1);
        //birthdays.add(rnd.nextInt());
        for (int j = 0; j <= size-1; j++) {
            check = birthdays.get(j);
            if (birthdays.indexOf(check) != birthdays.lastIndexOf(check)) {
                matches++;
                j = size;
            }
        }
       }

    percentage = (double)matches / count * 100;

   //percentage = 8;

   return percentage;
}
public双重计算(整数大小,整数计数){
双倍百分比;
int匹配=0;
整数检查;
int i=0;
int add=0;
随机rnd=新随机();
列出生日=新建ArrayList();

for(int k=1;k这里的代码有几个问题。一个是直接在第一个for循环之后的while循环,它似乎什么都没有做。它说:

while(i < size-1);

因为当你实例化它的时候,你会说你得到了什么错误?超出边界的感觉我甚至不知道我在回答这个问题上做错了什么。任何帮助都会被感激的大小和计数参数之间的区别是什么
for (int j = 0; j <= size-1; j++)
j = size;