【发布时间】:2020-11-11 04:03:35
【问题描述】:
尝试使用流计算字符串中的字符数时出现错误 “我在封闭范围内定义的局部变量必须是最终的或有效的最终” 在这种情况下,您使用什么作为解决方法?我只需要单独做而不循环吗? 我是一名学生,任务是解密凯撒密码,因此频率分析是其中的一部分。
谢谢。
public static int[] freqAnalyse(String text) {
int[] frequencies = new int[26];
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
text = text.toUpperCase();
for(int i = 0; i < 26; i++) {
frequencies[i] = (int) text.chars().filter(k -> k == alphabet.charAt(i)).count();
}
return frequencies;
}
编辑 这行得通,这是不好的做法还是它想要的? 谢谢。
public static int[] freqAnalyse(String text) {
int[] frequencies = new int[26];
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
text = text.toUpperCase();
for(int i = 0; i < 26; i++) {
final int j = i;
frequencies[j] = (int) text.chars().filter(k -> k == alphabet.charAt(j)).count();
}
return frequencies;
}
【问题讨论】:
标签: java