如何对数组进行算术运算



这就是我现在所拥有的-我想将letterCount数组中的所有值除以字符串的长度,然后将这些值存储在一个名为calculatedFreq的新数组中。

有办法让我做这件事吗?

编辑:我知道,计算频率应该是一个双,但这似乎导致更多的问题。

如何在数组上执行算术运算?

你不能。

Array是一个对象,您不能在对象上应用算术运算,因为Java算术运算符执行加、减、乘、除和取模。

但是,你可以从数组中取出元素,并对其应用算术运算,IFF,它们支持算术运算(例如,它们是一些可以加,减等的东西)。

:

calculatedFreq[i] = letterCount[i]/s.length();

,这样你的代码看起来像:

public class Brutus {
public static void main(String[] args) {
int[] letterCount = new int[26];
String s = args[0].replace(" ", "").toLowerCase();
for (int i = 0; i < s.length(); i++)
letterCount[s.charAt(i) - 'a']++;
System.out.println(letterCount[0]);
int[] calculatedFreq = new int[26];
for (int i = 0; i < letterCount.length; i++)
calculatedFreq[i] = letterCount[i]/s.length(); //<--modification here
}
}

也不清楚为什么要将常量26定义为数组的长度。也许这样做会更好:

String s = args[0].replace(" ", "").toLowerCase();
int[] letterCount = new int[s.length()];
通过这种方式,你将得到与输入长度完全相同的数组(在替换等之后)。

相关内容

  • 没有找到相关文章

最新更新