Java myArray[diffinday]=日计数工作不正常

Java myArray[diffinday]=日计数工作不正常,java,arrays,Java,Arrays,我需要保存121次计算的值。我能够找到能够在for循环中保存值的代码,但它不能正常工作,我不知道为什么。这是我的密码 int[] myArray = new int[121]; //how to read how many bdays? = 121 bdays! for(int x=0; x < 121; x++){ String[] bdaynames = {database.readWord(),database.readW

我需要保存121次计算的值。我能够找到能够在for循环中保存值的代码,但它不能正常工作,我不知道为什么。这是我的密码

 int[] myArray = new int[121];

        //how to read how many bdays? = 121 bdays!
        for(int x=0; x < 121; x++){

            String[] bdaynames = {database.readWord(),database.readWord(),database.readWord(),database.readWord(),database.readWord()};
            //System.out.println(Arrays.toString(bdaynames));

            //we get a arraylist

                for(int diffinday = 0; diffinday < 121; diffinday++){
                    bmonth = Integer.parseInt(bdaynames[2]);
                    bday = Integer.parseInt(bdaynames[3]);
                    byear = Integer.parseInt(bdaynames[4]);
                    LocalDate start = new LocalDate(year,month,day);
                    LocalDate end = new LocalDate(year,bmonth,bday);
                    int dayCount = Days.daysBetween(start, end).getDays();
                    //System.out.print(dayCount+" ");
                    myArray[diffinday] = dayCount;
                    if(diffinday == 120){
                        System.out.print("THIS IS THE ONE!): "+Arrays.toString(myArray));
                    }
            } 

我不确定我做错了什么,因为它应该都在一个数组中,因为if语句清楚地说,只有当数组达到121时,我才需要数组。它还需要在一个数组中,这样我就可以正确地对它进行排序。它

有一件事我马上就看出是错的
LocalDate end=新的LocalDate(年、月、日);应该是
LocalDate end=新的LocalDate(byear、b月、b日)


你也在计算,但没有任何变化,一切都是固定的变量。如果你想迭代你的bday名称,你需要把它放在第二个for循环中。我甚至不知道为什么有一个嵌套的for循环,应该可以在一个循环中完成

从我所看到的,你有两个for循环,一个for x(我没有看到x在任何地方被使用),一个for diffinday

你能不能用一个做循环,比如

   for(int x=0; x < 121; x++){

        String[] bdaynames = {database.readWord(),database.readWord(),database.readWord(),database.readWord(),database.readWord()};
        //System.out.println(Arrays.toString(bdaynames));

        //we get a arraylist
            bmonth = Integer.parseInt(bdaynames[2]);
            bday = Integer.parseInt(bdaynames[3]);
            byear = Integer.parseInt(bdaynames[4]);
            LocalDate start = new LocalDate(year,month,day);
            LocalDate end = new LocalDate(year,bmonth,bday);
            int dayCount = Days.daysBetween(start, end).getDays();
                //System.out.print(dayCount+" ");
            myArray[x] = dayCount;
            if(x == 120){
                    System.out.print("THIS IS THE ONE!): "+Arrays.toString(myArray));
                }
        } 
for(int x=0;x<121;x++){
字符串[]bdaynames={database.readWord()、database.readWord()、database.readWord()、database.readWord()、database.readWord()};
//System.out.println(Arrays.toString(bdaynames));
//我们有一个数组列表
bmmonth=Integer.parseInt(bdaynames[2]);
bday=Integer.parseInt(bdaynames[3]);
byear=Integer.parseInt(bdaynames[4]);
LocalDate开始=新的LocalDate(年、月、日);
LocalDate end=新的LocalDate(年、月、日);
int dayCount=Days.daysBetween(开始、结束).getDays();
//系统输出打印(dayCount+“”);
myArray[x]=日计数;
如果(x==120){
System.out.print(“就是这个!”:“+Arrays.toString(myArray));
}
} 

外循环和内循环有什么区别?我需要将.txt文件读取121次(它有121个日期)。我需要它吗?为什么你需要两个嵌套的循环,即使你阅读了121次?非常感谢。我摆脱了for循环。。。。非常感谢你!现在可以了。for循环导致了所有奇怪的事情发生。
   for(int x=0; x < 121; x++){

        String[] bdaynames = {database.readWord(),database.readWord(),database.readWord(),database.readWord(),database.readWord()};
        //System.out.println(Arrays.toString(bdaynames));

        //we get a arraylist
            bmonth = Integer.parseInt(bdaynames[2]);
            bday = Integer.parseInt(bdaynames[3]);
            byear = Integer.parseInt(bdaynames[4]);
            LocalDate start = new LocalDate(year,month,day);
            LocalDate end = new LocalDate(year,bmonth,bday);
            int dayCount = Days.daysBetween(start, end).getDays();
                //System.out.print(dayCount+" ");
            myArray[x] = dayCount;
            if(x == 120){
                    System.out.print("THIS IS THE ONE!): "+Arrays.toString(myArray));
                }
        }