class ArrayApp
{
public static void main(String[] args)
{
long[] arr;
arr = new long[100];
int ne = 0;
int j;
long searchKey; arr[0] =77 ;
arr[1] = 99 ;
arr[2] = 44;
arr[3] = 55;
arr[4] = 22;
arr[5] =88;
arr[6] =11;
arr[7] =00;
arr[8] =66;
arr[9] =33;
ne =10;
//.....................打印輸出數組
for(j=0;j <ne;j++) System.out.println(arr[j] + " ");
System.out.println("");
//.........................
//查找數組
searchKey = 66;
for(j=0;j <ne;j++)
if(arr[j] == searchKey)
break;
//.........這裡已經退出循環了。
if(j == ne)
System.out.println("can't find" + searchKey);
else
System.out.println("Found "+ searchKey);
//..........................
//刪除開始
System.out.println("刪除后向前靠一個");
searchKey = 55;
for(j=0;j <ne;j++)
if(arr[j] == searchKey)
break;
for(int k=j;k <ne;k++)
arr[k] = arr[k+1];
ne--;
//...............
for(j=0;j <ne;j++)
System.out.println(arr[j]);
System.out.println("");
//....................
//插入數組 System.out.println("插入數組"); ++ne;
arr[10]=82;
for(j=0;j <ne;j++)
{
System.out.println(arr[j]);
}
System.out.println("ne is " + ne);
System.out.println("arr[10] is " + arr[10]); } }
結果:
C:\class>java
77
99
44
55
22
88
11
0
66
33 Found 66
刪除后向前靠一
77
99
44
22
88
11
0
66
33 插入數組
77
99
44
22
88
11
0
66
33
0
ne is 10
arr[10] is 82
上面第10個數組的結果怎么是0而不是82呢?很疑惑???
{
public static void main(String[] args)
{
long[] arr;
arr = new long[100];
int ne = 0;
int j;
long searchKey; arr[0] =77 ;
arr[1] = 99 ;
arr[2] = 44;
arr[3] = 55;
arr[4] = 22;
arr[5] =88;
arr[6] =11;
arr[7] =00;
arr[8] =66;
arr[9] =33;
ne =10;
//.....................打印輸出數組
for(j=0;j <ne;j++) System.out.println(arr[j] + " ");
System.out.println("");
//.........................
//查找數組
searchKey = 66;
for(j=0;j <ne;j++)
if(arr[j] == searchKey)
break;
//.........這裡已經退出循環了。
if(j == ne)
System.out.println("can't find" + searchKey);
else
System.out.println("Found "+ searchKey);
//..........................
//刪除開始
System.out.println("刪除后向前靠一個");
searchKey = 55;
for(j=0;j <ne;j++)
if(arr[j] == searchKey)
break;
for(int k=j;k <ne;k++)
arr[k] = arr[k+1];
ne--;
//...............
for(j=0;j <ne;j++)
System.out.println(arr[j]);
System.out.println("");
//....................
//插入數組 System.out.println("插入數組"); ++ne;
arr[10]=82;
for(j=0;j <ne;j++)
{
System.out.println(arr[j]);
}
System.out.println("ne is " + ne);
System.out.println("arr[10] is " + arr[10]); } }
結果:
C:\class>java
77
99
44
55
22
88
11
0
66
33 Found 66
刪除后向前靠一
77
99
44
22
88
11
0
66
33 插入數組
77
99
44
22
88
11
0
66
33
0
ne is 10
arr[10] is 82
上面第10個數組的結果怎么是0而不是82呢?很疑惑???
arr[10]=82;
for(j=0;j <ne;j++)
{
System.out.println(arr[j]);
}
System.out.println("ne is " + ne);
System.out.println("arr[10] is " + arr[10]); 这块错了 把arr[10]=82换成arr[9]=82或arr[ne-1]=82; ;应该是楼主马虎所致
arr[10]指的是第11個元素啦,數組的下標可以理解為offset