2015-10-10 75 views
2

首先,我是Java中的新手,我多次遇到此問題。我想返回字符串中的字符出現的號碼,我實現了一個方法叫做countcharacters看起來像這樣:如何打印在主函數中的方法返回的int數組,Java

public static int[] countcharacters(String s) 
{ 
    String alphabet="abcdefghijklmnopqrstuvwxyz"; 

int[] sircounter=new int[alphabet.length()]; 
for(int i=0;i<sircounter.length;i++) 
{ 
    sircounter[i]=0; 
} 

for(int j=0;j<alphabet.length();j++) 
{ 
    for(int i=0;i<s.length();i++) 
    { 
     if(alphabet.charAt(j)==(s.charAt(i))) 
     { 

      sircounter[j]++; 


     } 

    } 

} 

return sircounter; 
} 

換句話說,每次從字母文字在我的字符串被發現,該方法的參數,來自sircounter每個位置的零值隨出現次數遞增。 我想打印的位置排列位置,但它沒有工作,如果 我這樣做的主要方法:

String text="hannah"; 
System.out.println(Class.countcharacters(text)); 

我得到一個十六進制代碼:[I @ 659e0bfd這我不不明白。 你能幫我嗎? 非常感謝,祝你有美好的一天!

+2

我相信你可以找到一些有用的信息:?什麼是打印的Java數組的最簡單的方法(http://stackoverflow.com/questions/409784/whats-最簡單的方法打印一個java數組) –

+0

使用'Arrays.toString()'方法。 – marstran

回答

1

這是發生,因爲數組作爲java.And的物體進行處理,當您嘗試打印在Java對象你得到它的哈希碼(只要該對象已不具備的toString()定義!)

試試這個rather-

String text="hannah"; 
int counter[]=Class.countcharacters(text); 
for(int i=0;i<counter.length;i++){ 
    System.out.print(counter[i]+" "); 
} 
+0

非常感謝! –