如题,如下是我的作业,内容描述如下: 编写一个程序,用一个数组来记录一个字符串中每个字母出现的次数(忽略大小写),并输出结果,该字符串为运行时由命令行参数给出!我今天花了好就才做个雏形,虽不完美,但是总算调出来了,其中一个地方,就是关于运用那个index的变量for(int i=0;i<index;i++)
{
System.out.println(eachChar[i]+" "+eachCharTimes[i]);
}为什么这里,没有输出呢??分析了下,就是index为0时才可能!!
但是我的index怎么可能是0呢??没有办法,只好做了个程序中写的那样的,很笨着的一个方法哎,没办法,晕!希望可以和各位一个谈论下,可以完善这个程序,谢谢!!小弟期盼着..............
{
System.out.println(eachChar[i]+" "+eachCharTimes[i]);
}为什么这里,没有输出呢??分析了下,就是index为0时才可能!!
但是我的index怎么可能是0呢??没有办法,只好做了个程序中写的那样的,很笨着的一个方法哎,没办法,晕!希望可以和各位一个谈论下,可以完善这个程序,谢谢!!小弟期盼着..............
{
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();
}
}呵呵,棋盘中,谢谢鞠躬............
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]);
}
}
{
System.out.println(eachChar[i]+" "+eachCharTimes[i]);
}
有这句吗?我怎么没看到...另外:if(eachCharTimes[i]!=0) 显然多余.