首页 > 解决方案 > 试图理解整数数组中的 charAt 方法

问题描述

我试图理解,我们如何在整数数组中使用字符串元素。我正在解决一个与数组相关的问题,我试图将字符的频率存储在字符串中。

int[] letters = new int[128];
for(int i = 0; i < s.length(); i++){
    System.out.println(s.charAt(i));
    letters[s.charAt(i)] =  letters[s.charAt(i)] + 1;    
}

我的问题是,由于 letters 是一个整数数组,因此 s.charAt(i) 将返回一个字符串字符。我正在打印出来, letter[s.charAt(i)] 可以说是 letters['a'] 打印出一个数字。但是通过使用 charAt 不是。我们如何访问 char 作为索引?

标签: javaarrays

解决方案


我试图理解,我们如何在整数数组中使用字符串元素。

这取决于你在使用中的意思。如果您想将字符串值存储到整数数组中 - 您不能。两者都不允许int[]Ingeter[]不允许您在其中存储任何字符串元素。您将收到一个编译时错误,例如:

java: incompatible types: java.lang.String cannot be converted to int

我正在打印, letter[s.charAt(i)] 可以说是 letters['a']

String#charAt(int) 返回单个字符,您要做的是使用letters字符索引访问数组的插槽,这反过来也会通过以下消息停止编译过程:

java: cannot find symbol
    symbol:   variable yourCharacter

我们如何访问 char 作为索引?

你不能。任何数组的索引总是一个正整数。


推荐阅读