看了几天的视频,自己跟着写了几个程序,发现脑子里虽然有了对代码的印象,但是真去动手做的时候,总是错误百出。为了不过多的占用学习和练习的时间。本人博客日记将不做过多在语言方面下功夫。采取记录的形式叙述问题。
总结自己初期总是爱犯的错误。
1.分好总是容易漏写;
2.System的首字母容易写成小写。
3.在For循环中总是忘了在第一个分号前初始化变量;例:for(x=0;x<5;x++);正确应该是:for(int x=0;x<5;x++);
自己费了很长时间找到的错误:折半排序的打印问题
class ArrTest2
{
public static void main(String[] args)
{
int[] arr2={0,1,2,3,4,5,6,7,8,9};
zbcz(arr2,34);
zbcz_2(arr2,35);
}
public static int zbcz_2(int[] arr,int key)
{
int mid,min,max;
min=0;
max=arr.length-1;
while(max>=min)
{ mid=(min+max)>>1;
if(key<arr[mid])
{
max=mid-1;
}
else if(key>arr[mid])
min=mid+1;
else return mid;
}
return -1;
}
public static int zbcz(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(arr[mid]!=key)
{
if(key>arr[mid])
{
min=mid+1;
}
else if(key<arr[mid])
{
max=mid-1;
}
if(min>max)
{
return -1;
}
mid=(min+max)/2;
}
return mid;
}
}
这个程序运行后一点反应没有,怎么都找不到原因,费了很大劲,最后终于发现,主方法只是调用了一个方法,并没有打印输出,所以没有反应。如果有输出应该在主方法中写:System.out.println(zbcz(arr2,34));
System.out.println(zbcz_2(arr2,35));
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima