如何打印main函数Java

时间:2015-10-10 10:14:53

标签: java arrays string

首先,我是Java的新手,我多次遇到过这个问题。我试图在字符串中返回char的出现次数,并实现了一个名为countcharacters的方法,如下所示:

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的每个位置的零值随着出现次数递增。 我想按位置打印阵列位置,但它没有工作,如果 我在main方法中做了类似的事情:

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

我得到一个十六进制代码:[我@ 659e0bfd,我不明白。 你可以帮帮我吗? 非常感谢,祝你有个美好的一天!

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为数组被视为java中的一个对象。当你尝试在java中打印一个对象时,你得到它的哈希码(只要该对象没有定义toString()!)< / p>

试试这个 -

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