java吧 关注:1,296,162贴子:12,830,144
  • 6回复贴,共1

求助大佬,封装冒泡排序后调用时异常

只看楼主收藏回复

源码如下:
package Another;
public class Arr {
public static void main(String[] args) {
int[] arr1 = { 22, 14, 11, 66, 2 };
Bubble ble=new Bubble();
ble.sort(arr1);
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i] + " ");
}
}
class Bubble {
public void sort(int[]arr) {
int temp = 0;
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
}


IP属地:广东1楼2020-03-23 20:56回复
    提示如下错误
    没有任何类型 Arr 的外层实例可访问。必须用类型 Arr 的外层实例(例如,x.new A(),其中 x 是 Arr 的实例)来限定分配。


    IP属地:广东2楼2020-03-23 20:57
    回复
      2026-01-29 04:43:40
      广告
      不感兴趣
      开通SVIP免广告
      把排序方法剪出来放进主函数来运行时没问题的,封装调用就会报错,实在找不着问题所在


      IP属地:广东3楼2020-03-23 21:02
      回复
        貌似沉了


        IP属地:广东来自Android客户端4楼2020-03-23 21:27
        回复
          你他娘的把class Bubble定义在class Arr的里面,这样
          Bubble就是Arr的一个内部类(害的老子看半天)
          那么你创建Bubble实例时需要这样
          1.先创建外部类Arr的实例
          Arr arr = new Arr();
          2.再创建内部类实例
          Arr.Bubble ble = arr.new Bubble();


          5楼2020-03-23 22:01
          收起回复
            我去 你还没转行啊


            IP属地:江西来自iPhone客户端7楼2020-09-23 18:37
            回复