2017-05-03 4 views
0

アレイがパリンドロームかどうかをテストしようとしていますが、私が作成したflipArrayメソッドで問題が発生し続けます。コンパイラは「ステートメントではない」エラーを出し、何が停止しているのか分かりません。コードは、それらが同じであるかどうかを確認するために、配列aと配列bを比較し、周りに配列bを反転することになっている:あなたはgetPalindromeメソッドの決算)を逃しているアレイをフリップしようとしてもエラーが発生する

public class Lab13_2{ 
    public static final int SIZE = 50; 
    public static void main (String [] args){ 
     Boolean palindrome = false; 
     String[] a = {"hello" , "goodbye", "goodbye" , "hello"}; 
     String[] b = new String[SIZE]; 


     b = a.clone();  
     palindrome = getPalindrome(a,b,a.length); 
    } 

    public static boolean getPalindrome(String[] a, String[] b, int arrayLength{ 
     b = flipArray(b); 
     for(int i = 0; i <arrayLength; i++){ 
      if(a[i] != b[i]){ 
       return false; 
      } 
     } 
     return true; 
    } 

    public static String[] flipArray(String[] array){ 
     for(int=0; i <array.length/2; i++){ 
      int temp = array[i]; 
      array[i] = array[array.length-1-i]; 
      array[array.length-1-i] = temp; 
     } 
     return array;  
     } 
    } 
+0

@OusmaneマーイDiawあなたが編集拒絶に冗談を言っている権利? – axlj

+0

@axljあなたの編集は合理的でしたが、私が修正したOPのスペルミスを考慮しませんでした。 –

答えて

1
  1. flipArrayメソッド内のforループは、条件内または他の場所で使用される前にiと宣言しません。 for(int i = 0; i < array.length/2; i++)である必要があります。
  2. tempの変数のタイプは、intではなく、Stringである必要があります。

最後にではなく、少なくとも、あなたがこのように文字列を比較していない。これに

if(a[i] != b[i]) 

変更を:

if(!a[i].equals(b[i])) 
+0

ありがとう!あなたの提案を適用し、それはすべて動作します。 –

関連する問題