Meldung "cannot convert flom boolean to boolean[]"

mihau

Neues Mitglied
Hi,
Hoffe das es ziemlich easy für euch ist und mir jemand mein Denkfehler bei dieser Aufgabe zeigen kann, bringe es einfach nicht zum laufen. Die Methode soll vergleiche ob die werte in 2 arrays gleich sind und entsprechen ein array mit [fals, true ...usw.] ausgeben, danke für ein antwort
Bekomme ejdoch immer die Meldung aus der Überschrift, verzweifle langsam da ich schon verscheidene Konstelationen ausprobiert habe
Java:
class Felder4 {
  
  public static void main (String [] args) {
    int []a = {3,5,1};
    int []b = {4,5,1};
    boolean []c = new boolean [3];
    c = gleich (a,b);
    
    System.out.print( c);
  }
  
  public static boolean[] gleich(int []a, int []b){
    
    boolean []c = new boolean [3];
    for (int i =0; i< a.length; i++){
      if (a[i]==b[i])
        return c[i]=true;
      else 
        return c[i]=false;
    }
  }
}
 
Java:
class Felder4 {
  
  public static void main (String [] args) {
    int []a = {3,5,1};
    int []b = {4,5,1};
    boolean []c = new boolean [3]; //Kannst du dir sparen ;)
    c = gleich (a,b);
    
    System.out.print( c);
  }
  
  public static boolean[] gleich(int []a, int []b){
    
    boolean []c = new boolean [3];
    for (int i =0; i< a.length; i++){
      if (a[i]==b[i])
        c[i]=true;
      else 
        c[i]=false;
    }
return c;
  }
}

Du musst das Array zurückgeben und zwar am Ende und nicht das einzelne Ergebnis 😉
 
das habe ich auch versucht, bekomme aber als ausgabe
> run Felder4
[Z@17e60a1>

und will eigentlich das dort [false, true , true] steht?

danke für diese schnelle antwort
 
Java:
System.out.println(Arrays.toString(c));
Das tut, was Du willst. Ohne die Hilfsmethode "Arrays.toString()" wird bei System.out.println die toString-Methode des Array-Objekts aufgerufen. Anders als bei den Collection-Implementierungen gibt diese nur die kryptische Speicherreferenz aus und nicht die Elemente des Arrays.
 

Zurück
Oben