我在尝试移动部分数组中的对象,以便它们被覆盖,并且所有内容都移到左侧。我知道你可以使用arrayCopy
方法,但我试图使用for
循环来了解arrayCopy
方法的含义。 这是我第一次尝试:在部分阵列中移动对象
boolean search = false;
for(int i = 0; i < (numCourses - 1); i++){
if(arrayCourses[i].getRegistration() == crn){
arrayCourses[i] = arrayCourses[1 + i];}
}
return search;
不过,我意识到for
循环搜索的crn
,然后,如果它是等于它,然后将其与一个比它更大的更换,并在整个循环持续,所以我最后的课程数量仍然相同,而不是取代它们。
所以我做了别的东西:
boolean search = false;
for(int i = 0; i < (numCourses - 1); i++){
if(arrayCourses[i].getRegistration() == crn){
for(int j = i -1; j > 0 ; j--){
arrayCourses[j] = arrayCourses[1 + j];}
}
}
return search;
所以它会通过循环搜索,开始索引,并与阵列中的所有对象之前更换。但是,我想用一个临时变量来代替它吗?我想我的问题是理解第二个循环应该开始/结束的位置。
可否请您发布数组初始化和想要的结果,以便我们可以测试? – 2015-02-05 22:57:57
目前尚不清楚你想要完成什么。搜索变量的目的是什么? – gknicker 2015-02-05 23:02:52
@gknicker搜索变量用于检查要替换的crn是否与数组中的任何对象的crn匹配。如果确实如此,则返回true。如果不是,则返回false。 – hello 2015-02-05 23:31:23