“表达式的类型必须是数组类型,但它解析为int”

问题描述:

我尝试使用冒泡排序对整数数组进行排序,但是当我尝试比较索引0与索引1时,它弹出错误消息说“表达式的类型必须是一个数组类型,但它解析为int”。以下是我的代码。“表达式的类型必须是数组类型,但它解析为int”

package arraytest; 

public class BubbleSort { 

public static void main(String[] args) { 
    int [] bblSort = {30, 45, 8, 204, 165, 95, 28, 180, 110, 40}; 

    for(int i=0; i<bblSort.length; i++){ 
     System.out.println(i); 
    } 
} 

public void sort(int bblSort){ 

    int temp=0; 
    for(int i=0; i<bblSort-1; i++){ 
     for(int j=0; j<bblSort-1 -i; j++){ 
      if(bblSort[j] > bblSort[j+1]){ 
       temp = bblSort[j]; 
       bblSort[j] = bblSort[j + 1]; 
       bblSort[j+1] = temp; 
      } 
     } 

    } 
} 
} 
+1

的[]在方法定义丢失。它应该是public void sort(int [] bblSort)not public void sort(int bblSort) –

+0

当您发布时,请记住包含* entire *错误消息。在这种情况下,位置(线和字符)会得到更快的响应。请参阅http://stackoverflow.com/help/mcve – Prune

尝试这种情况:

public static int[] sort(int bblSort[]){ 

    int temp=0; 
    for(int i=0; i<bblSort.length-1; i++){ 
     for(int j=0; j<bblSort.length-1 -i; j++){ 
      if(bblSort[j] > bblSort[j+1]){ 
       temp = bblSort[j]; 
       bblSort[j] = bblSort[j + 1]; 
       bblSort[j+1] = temp; 
      } 
     } 

    } 
    return bblSort; 
} 
+0

将不会编译。那么'int []'呢? –

+0

你是什么意思?只是在Eclipse中使用java 1.8来试用它,并且它编译得很好。另外,从我的基本Java类可以肯定地,我可以互换地使用'int [] name'或'int name []' – javaguest

+0

身体本身可以complile,而'bblSort-1'不应该了。因此,答案是不完整的,并导致另一个错误。然而,对于int [] a'和'int a []' –