public class Rr {
public static void main(String[] args) {
Count("asdfsdfsfsss");
}
public static void Count(String s){
int[] app = new int['z' + 1]; /
for (int i = 0; i < s.length(); i++)
app[s.charAt(i)]++; /
for (int i = 0; i < app.length; i++) {
if (app[i] != 0) { /
System.out.println("字符:" + (char) i + "出现了" + app[i] + "次");
}
}
}
}
主要就是我叫了标注的那3行 还有 如果我只想显示是频率出现最高的那个字母的那一句应该怎么改
public static void main(String[] args) {
Count("asdfsdfsfsss");
}
public static void Count(String s){
int[] app = new int['z' + 1]; /
for (int i = 0; i < s.length(); i++)
app[s.charAt(i)]++; /
for (int i = 0; i < app.length; i++) {
if (app[i] != 0) { /
System.out.println("字符:" + (char) i + "出现了" + app[i] + "次");
}
}
}
}
主要就是我叫了标注的那3行 还有 如果我只想显示是频率出现最高的那个字母的那一句应该怎么改
不是很理解
'z'与int类型相连,转换为int类,在字符表中,找到'z'的对应的数值将其相加。
public class Rr {
public static void main(String[] args) {
Count("asdfsdfsfsss");
} public static void Count(String s) {
int[] app = new int['z' + 1]; //
String tc="";
int t=0;
for (int i = 0; i < s.length(); i++){
app[s.charAt(i)]++; //
if(app[s.charAt(i)]>t){
t=app[s.charAt(i)];
tc=""+s.charAt(i);
}
}
for (int i = 0; i < app.length; i++) {
if (app[i] != 0) { //
System.out.println("字符:" + (char) i + "出现了" + app[i] + "次");
}
}
System.out.println("出现频率最高的字符是"+tc+",一共出现了"+t+"次");
}
}这样对吗?
s.charAt(i)返回一个字符 然后++ 没看懂