准确说我也不清楚是for中定义变量还是函数中定义变量的问题。
代码中的方法max和max_1 中
在for中定义变量(//已注释部分)
编译错误。提示:
Shuzu4.java:42: 错误: 找不到符号
return max;
^
符号: 变量 max
位置: 类 Shuzu4
1 个错误
所以就只能在for外面定义变量了。编译才通过。
不过可以看到。paixu和paixu_1方法内。for中定义变量temp.编译而没问题。- class Shuzu4//
- {
- public static void main(String[] args)
- {
- int []arr={2,1,4,3,6,5};
- print(arr);
- paixu_1(arr);
- print(arr);
- int max=max(arr);
- System.out.println(max);
- int max_1=max_1(arr);
- System.out.println(max_1+"和"+max);
- }
- public static int max(int[] arr)
- {
- int max=0;
- for (int x=1;x<arr.length ;x++ )
- {
- //int max=0;
- if (arr[max]<arr[x])
- {
- max=x;
-
- }
- }
- return arr[max];
-
- }
-
- public static int max_1(int [] arr)
- {
- int max=arr[0];
- for (int x=1;x<arr.length ;x++ )
- {
- //int max=arr[0];
- if (max<arr[x])
- {
- max=arr[x];
- }
- }
- return max;
-
-
- }
-
- 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])
- {
- zhihuan(arr,x,y);
- }
- }
- }
-
-
- }
- public static void paixu_1(int[] arr)
- {
- for (int x=0;x<arr.length ;x++ )
- {
- for (int y=0;y<arr.length-x-1 ;y++ )
- {
- if(arr[y]>arr[y+1])
-
- {
-
- zhihuan(arr,y,y+1);
- }
- }
- }
-
-
-
- }
-
- public static void zhihuan(int arr[],int a,int b)
- {
- int temp=arr[a];
- arr[a]=arr[b];
- arr[b]=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]+"]");
- }
-
-
- }
- }
复制代码 |