[谈论 完善]虽然不是很完美,但是总算调出来了!!希望可以谈论下以完善,谢谢!!

mofengtt 2005-11-17 02:52:11
如题,如下是我的作业,内容描述如下:

编写一个程序,用一个数组来记录一个字符串中每个字母出现的次数(忽略大小写),并输出结果,该字符串为运行时由命令行参数给出!

我今天花了好就才做个雏形,虽不完美,但是总算调出来了,其中一个地方,就是关于运用那个index的变量

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

System.out.println(eachChar[i]+" "+eachCharTimes[i]);
}

为什么这里,没有输出呢??

分析了下,就是index为0时才可能!!
但是我的index怎么可能是0呢??

没有办法,只好做了个程序中写的那样的,很笨着的一个方法

哎,没办法,晕!

希望可以和各位一个谈论下,可以完善这个程序,谢谢!!

小弟期盼着..............
...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mybeautiful 2005-11-17
  • 打赏
  • 举报
回复
for(int i=0;i<index;i++)
{

System.out.println(eachChar[i]+" "+eachCharTimes[i]);
}


有这句吗?我怎么没看到...

另外:if(eachCharTimes[i]!=0) 显然多余.
mofengtt 2005-11-17
  • 打赏
  • 举报
回复
呵呵,楼上的不失为一种方法啦,不过,我要的是我程序里的那种输出方式,不是你的这种啦

不过,谢谢支持,谢谢!!

我的程序里,输入输出没有问题的,就是里面的处理时,有点不太清晰,要改进!!

谢谢回帖!!
yanxiazhiqiu 2005-11-17
  • 打赏
  • 举报
回复
String s=s1.toLowerCase();
cunsh 2005-11-17
  • 打赏
  • 举报
回复
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]);
}
}
mofengtt 2005-11-17
  • 打赏
  • 举报
回复
期待中,谢谢!!
mofengtt 2005-11-17
  • 打赏
  • 举报
回复
晕,忘记帖程序代码了,如下;

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();
}
}

呵呵,棋盘中,谢谢

鞠躬............

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧