本帖最后由 邓斌 于 2012-4-9 21:16 编辑
这段代码输出结果
[7,5,2,3,7,6]
[2,3,5,6,7,7]
就因为前面多调用了一个最大数的方法。
吧1变成了最大值。
而如果把 int[]arr={1,5,2,3,7,6};改成int[]arr={8,5,2,3,7,6}; 1改成其他一些数都没问题。没被替换。- class Zda
- {
- public static void main(String[] args)
- {
- int[]arr={1,5,2,3,7,6};
- max(arr);
-
- print(arr);
- paixu(arr);
- print(arr);
- }
- public static int max(int[] arr)
- {
- int sum=0;
- for (int x=1;x<arr.length ;x++ )
- {
- if (arr[sum]<arr[x])
- {
- arr[sum]=arr[x];
- }
-
- }
-
- return arr[sum];
- }
- public static void paixu(int[]arr)
- {
- for (int x=0;x<arr.length-1 ;x++ )
- {
- for (int y=x+1;y<arr.length ;y++ )
- {
- if(arr[x]>arr[y])
- {
- int temp=arr[x];
- arr[x]=arr[y];
- arr[y]=temp;
-
-
- }
- }
- }
-
-
- }
- public static void print(int[] arr)
- {
- System.out.print("[");
- for (int x=0;x<arr.length ;x++ )
- {
- if (x!=arr.length-1)
- {
- System.out.print(arr[x]+",");
- }
- else
- System.out.println(arr[x]+"]");
-
- }
-
-
-
- }
-
-
- }
复制代码 了解了。。求最值。这样定义把角标为0的元素赋为最大值了。有BUG。
谢谢楼下的朋友。不回复了。 |
|