最常见的角色 设计一个程序,提示用户输入字符串,并显示字符串中最常出现的字符。
这是一个家庭作业的问题,但我的老师没有帮助,它让我发疯,我无法解决这个问题。
提前谢谢你。
这是我到目前为止!
Declare String str
Declare Integer maxChar
Declare Integer index
Set maxChar = 0
Display “Enter anything you want.”
Input str
For index = 0 To length(str) – 1
If str[index] =
现在我卡住了。我不认为它是正确的,我不知道该去哪里!
答案 0 :(得分:0)
在我看来,你想要的方式是: “仔细检查字符串中的每个字符,记住我们最常见过的字符。”
然而,这是行不通的。如果我们只记住单个字符的计数,例如“我们大多数时候看到的字符是5次出现的'a',我们就不知道第二位的字符是否可能不会向前跳。” / p>
所以,你需要做的是:
string
或int
这样的简单变量在这里是不够的。我知道,这不是一个完整的答案,但这就是我要说的。
如果您遇到困难,我建议您拿一支笔和一张纸并尝试手动计算。试着想一想 - 如果没有电脑,你会怎么做?如果你的回答是“看看”,那么如果文字是10页呢?我知道这可能会令人困惑,但所有这一切的关键在于让你习惯于不同的思维方式。如果你想出这个,下次会更容易,因为基本原则总是一样的。
答案 1 :(得分:0)
这是我创建的用于计算字符串中所有出现次数的代码。
String abc = "aabcabccc";
char[] x = abc.toCharArray();
String _array = "";
for(int i = 0; i < x.length; i++) //copy distinct data to a new string
{
if(_array.indexOf(x[i]) == -1)
_array = _array+x[i];
}
char[] y = _array.toCharArray();
int[] count1 = new int[_array.length()];
for(int j = 0; j<x.length;j++) //count occurences
{
count1[new String(String.valueOf(y)).indexOf(x[j])]++;
}
for(int i = 0; i<y.length;i++) //display
{
System.out.println(y[i] + " = " + count1[i]);
}