public class ceyan1 {
public static void main(String []args){
int A[]={1,3,7,10,17,20,29,56};
int B[]={1,2,5,7,11,20,23,29,69,80};
int [] C=A;
int [] D=B;
for (int i=0;i<C.length;i++){
for (int j=0;j<D.length;j++){
if (A[i]==B[j]){
A[i]=0;
B[j]=0;
break;}
if (j==C.length-1){
A[i]=-1;
break;}

         }

   System.out.print( A[i]+ " ");

        }
}
}
上面的j==C.length-1是什么意思啊?没看懂
哪位GGMM教教我

解决方案 »

  1.   

    ……………………不明白楼主在说什么啊,该不会是真的连j==C.length-1也看不懂吧?
    j的值和数组C中的元素个数减1的值相等……还是不明白这一句为什么要出现在程序的这个地方?
      

  2.   

    C is the name of an array, so C.length is the capacity of this array.
      

  3.   

     题目中的条件是这样说的:A中有的数据,如果B没有,将A,B中对应的元素置为-1
    这与j==C.length -1 有什么关系啊?
    谢谢!帮帮忙
      

  4.   

    似乎是在数组B里面寻找数组A的元素的程序C.length其实是个固定值,8,C.length-1的原因是数组下标是从0开始。
      

  5.   

    这个程序有错误
    应该是 if (j==D.length-1){ 
    不应该是
    if (j==C.length-1){ 
      

  6.   

    还是没懂,
    j==C.length - 1 与所给的条件有什么关系?
    请讲详细点
    谢谢
      

  7.   


    那这个程序就有问题了,应该是j==D.length-1.
    数组B有10个元素,那么当匹配到D[9]的时候就是最后一个了,因为D[10]就是第11个数.
      

  8.   


    这个题有问题,程序没有将A,B中对应的元素置为-1,只是将A数组中对应的元素置为-1了
    个人感觉正确的题目是:A中有的数据,如果B没有,将A,中对应的元素置为-1 ,如果B中,将A,B中对应的元素置为0
    如果是这样 
    这个答案也是错的
    下面这行代码
    if (j==C.length-1){ 应该改为
    if (j==D.length-1){ 
      

  9.   

    应该是D.length,把没有在B中出现的A中的数值设成-1