错误:以下Java代码中需要'.class'

Joh*_*Doe 2 java

在下面的代码中,我试图打印两个数组的差异,但我得到这个类错误:'.class'预期

它来到这里

  ArrayCopy9526.java:15: error: '.class' expected
       int[] buffer = new int[array1];
Run Code Online (Sandbox Code Playgroud)

以下是我的完整代码.

public class ArrayCopy9526 {
   public static void main(String[] args){
      int[] sourceArr = {0,1,23,4,45,5,667,7,764,8,23};
      int[] arrayAno = {2,3,34,45,456,56,13,123,8,23};


      arrayDiff(sourceArr, arrayAno);

   }
  public static void arrayDiff(int[] arrayOne, int[] arrayTwo){
     int array1 = arrayOne.length;
     int array2 = arrayTwo.length;

      if(array1 < array2)   
       int[] buffer = new int[array1];
     else
       int[] buffer = new int[array2];

       for(int i = 0; i < array1; i++ ){
         for(int j= 0; j < array2; j++) {
           if(arrayOne[i] != arrayTwo[j]){
            buffer[i] = arrayOne[i];
           }
         }             
       }

    for(int i :buffer){
        System.out.println(i);
    }
  } 
}
Run Code Online (Sandbox Code Playgroud)

这段代码出了什么问题?

rge*_*man 5

为了您的身体ifelse,你必须有一个语句或块,而不是一个声明.".class expected"消息令人困惑,但它出现在声明中."不是声明"可能是一个更清晰的信息.

声明你buffer的面前if,在你为它分配ifelse.

int[] buffer;
if(array1 < array2)
   buffer = new int[array1];
else
   buffer = new int[array2];
Run Code Online (Sandbox Code Playgroud)