Problem beim Array

  • Themenstarter Themenstarter seanyann
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
S

seanyann

Gast
Hallo,
ich muss einen Encoder Programmieren und arbeite mit Array.Mein Code Sieht wie folgt aus:
Code:
public static String encoder(char c){ 
                char[] coeffs = new char[]{(char)0x30,(char)0x31};  //(char)0x30=='0',(char)0x31=='1'; 
                  char[] binary = new char[32]; 
                   if(!(BinaryChar.simple))  for(int j=0;j<binary.length;j++) binary[j]=(char)0x30; 

                  int charPointer = binary.length-1;  
                  if(c==0) return "0"; 
                  while (c != 0){ 
                      binary[charPointer--] = coeffs[c&1]; 
                      c >>>= 1; 
                  } 
                char p =0; 
                char q =0; 
                char[] register = new char[]{(char)0x30,(char)0x30,(char)0x30,(char)0x30,(char)0x30}; 

                int[] code = new int[32]; 
                int charPointer3 = 15; 
                int charPointer2 = code.length-1; 
                for(int i=0;i <= 15;i++){ 
                        register[4]=register[3]; 
                        register[3]=register[2]; 
                        register[2]=register[1]; 
                        register[1]=register[0]; 
                        register[0]=binary[charPointer3--]; 
                        code[charPointer2--] = (register[0]&(char)0x31)^(register[1]&(char)0x30)^(register[2]&(char)0x31)^(register[3]&(char)0x31)^(register[4]&(char)0x31); 
                        code[charPointer2--] = (register[0]&(char)0x31)^(register[1]&(char)0x30)^(register[2]&(char)0x30)^(register[3]&(char)0x31)^(register[4]&(char)0x31); 
                        } 
                  return code.toString(); 
        }

Wenn ich diese Methode testen möchte bekomme ich sowas ähnliches: [I@119c082 statt ein binär zahl der grösse 32 bit(also das zum Beispiel 00110110001111111111100001011011).
Wo könnte mein Fehler sein?
Ruhig sagen wenn ich das ganze Programm schicken soll damit ihr selber testen könnt...
Gruss
Seanyann
 
code ist auch ein Array ... das heisst du bekommst nur den Pointer auf das Array

probier mal return Arrays.toString(code);
 
das ist der standard ouput der toString methode für Objekte, wenn diese die toString nicht überschreiben....

verwende, wenn du java1.5. hast Arrays.toString() bzw. Arrays.asList
 
[irgendein Array].toString() liefert immer "Typ@Addresse". Benutz "Arrays.toString( code );" oder schreib dir eine kleine Schleife um den Array umzuwandeln
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben