2017-05-03 3 views
0

Versuchen zu testen und sehen, ob ein Array ein Palindrom ist, aber die flipArray Methode, die ich erstellt, macht mir Ärger. Der Compiler gibt eine "nicht eine Aussage" Fehler und ich bin mir nicht sicher, was es stoppt. Der Code soll b um Flip-Array, dann Array vergleichen a und Array b zu sehen, ob sie gleich sind:Versuchen, ein Array umzudrehen, aber immer einen Fehler zu bekommen

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 Mahy Diaw Sie mit dem Bearbeiten Ablehnung machen Witze Recht ? – axlj

+0

@axlj Ihre Bearbeitung war vernünftig, aber es berücksichtigte nicht die Rechtschreibfehler von OP, die ich geändert habe. –

Antwort

1
  1. Sie das Schließen ) für die getPalindrome Methode sind vermisst.
  2. Ihre For-Schleife innerhalb der flipArray Methode deklariert nicht i, bevor es innerhalb der Bedingung oder anderswo verwendet wird. sollte for(int i = 0; i < array.length/2; i++) sein.
  3. Ihre temp Variable sollte vom Typ String statt int sein.

Schließlich but not least Sie nicht vergleichen Strings wie folgt aus:

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

Änderung es dazu:

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

Danke! Hat dich vorgeschlagen und es funktioniert alles. –

Verwandte Themen