这是我第一次使用 ArrayLists,我现在才知道你不能使用 charAt。我不知道如何进行这项任务。该程序的目的是打印出一个数组,该数组给出每个元音的平均值。例如,[cheese, cheese, cheese] 的数组将是 [0, 3, 0, 0, 0]。我不关心如何完成程序。只是 charAt 问题。是否有另一种方法通常可以代替 ArrayLists,如果没有,有人可以指导我完成解决方案吗?我只是要发布我正在谈论的代码部分。如果有人想让我发布更多内容,请告诉我。
import java.util.ArrayList;
import java.util.Scanner;
import java.util.*;
public class ArrayListVowels {
public static void main (String [] args) {
ArrayList<String> vowels = new ArrayList<String>();
vowels.add("chocolate");
vowels.add("pudding");
vowels.add("elephants");
System.out.println(vowels);
System.out.println("Avg number of vowel characters: " + averageVowels(vowels));
}
public static int[] averageVowels(ArrayList<String> vowels) {
int [] vowelInt = new int [5];
for (int i = 0; i<vowels.size(); i++) {
char letter = vowels.charAt(i);
if(letter=='a') {
vowelInt[0]++;
} else if (letter == 'e') {
vowelInt[1]++;
} else if (letter == 'i') {
vowelInt[2]++;
} else if (letter == 'o') {
vowelInt[3]++;
} else if (letter == 'u') {
vowelInt[4]++;
}
}
return vowelInt;
}
所以我知道 vowels.get(0) 会得到巧克力,但如果我想得到'o',我必须在一个循环中做一个循环。我之前在考虑那个轨道,但是当你根本没有真正定义字符串时,你怎么能做到这一点?您只是在“添加”它们。我认为如果它像 String x = "chocolate" 会有所不同,因为那样你就可以在那里做类似 charAt 的事情。我想这就是为什么我很困惑。这是我在循环中的工作方式,但我真的不确定我是否走在正确的轨道上。
for(int i = 0; i<vowels.size(); i++) {
for(int j = 0; j<[0].length; j++) { //I totally know that's wrong
char letter = charAt(i);
你说的就是这种吗?