2015-10-10 44 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

非常感谢! –