如题,如下是我的作业,内容描述如下:     编写一个程序,用一个数组来记录一个字符串中每个字母出现的次数(忽略大小写),并输出结果,该字符串为运行时由命令行参数给出!我今天花了好就才做个雏形,虽不完美,但是总算调出来了,其中一个地方,就是关于运用那个index的变量for(int i=0;i<index;i++)
{

System.out.println(eachChar[i]+" "+eachCharTimes[i]);
         }为什么这里,没有输出呢??分析了下,就是index为0时才可能!!
但是我的index怎么可能是0呢??没有办法,只好做了个程序中写的那样的,很笨着的一个方法哎,没办法,晕!希望可以和各位一个谈论下,可以完善这个程序,谢谢!!小弟期盼着..............

解决方案 »

  1.   

    晕,忘记帖程序代码了,如下;class StatCharInStr
    {
    public String str;

    public StatCharInStr(String s)
    {
    str=s;
    }

    public void stat()
    {
    str=str.trim().toLowerCase();  
                       //统计时,不区分大小写,去掉空格后,统一转化成小写的
    char eachChar[]=new char[str.length()];    
                      //keep each unique char in command line
    int eachCharTimes[]=new int[str.length()];
                      //keep times of each unique char in command line
    eachChar=str.toCharArray();
    int index=0;
    for(int i=0;i<str.length();i++)
    {
    char ch=str.charAt(i);
    if(isExist(eachChar,ch)>=0)   //重复出现的字符
    eachCharTimes[isExist(eachChar,ch)]++;
    else
    {                            //首次出现的字符
    eachChar[index]=ch;
    eachCharTimes[index]++;
    index++;
    }

    System.out.println("String "+str+"  statistic as follow:");
    for(int i=0;i<eachChar.length;i++)
    {
    if(eachCharTimes[i]!=0)
    System.out.println(eachChar[i]+" "+eachCharTimes[i]);
    }

    }

    public int isExist(char charArray[],char ch)
    {
    for(int i=0;i<charArray.length;i++)
    {
    if(charArray[i]==ch)
    return i;
    }
    return (-1);
    }

    /*public int numOfNotZoneElem(int charArr[])
    {
    int count=0;
    for(int i=0;i<charArr.length;i++)
    if(charArr[i]!=0)
    count++;
    return count;
    }*/
    }class ex_5_6_2
    {
    public static void main(String args[])
    {
    StatCharInStr statChar=new StatCharInStr(args[0]);
    statChar.stat(); 
    }
    }呵呵,棋盘中,谢谢鞠躬............
      

  2.   

    public class A{

    public static void main(String args[]){
    String s = args[0];
    int[] b = new int [26];
    for (int i=0; i< s.length(); i++){
    if (s.charAt(i) > 'a'  && s.charAt(i) < 'z') 
    b[s.charAt(i) - 'a']++;
    else if(s.charAt(i) > 'A'  && s.charAt(i) < 'Z') 
    b[s.charAt(i) - 'A']++;
    }

    for (int j=0; j < 26; j++)
    System.out.println("字母 " + (char)('a'+j) + " 出现" + b[j]);
    }
    }
      

  3.   

    for(int i=0;i<index;i++)
    {

    System.out.println(eachChar[i]+" "+eachCharTimes[i]);
             }
    有这句吗?我怎么没看到...另外:if(eachCharTimes[i]!=0) 显然多余.