java - 在处理 ArrayList 时,我可以用什么来替代 charAt?

标签 java arraylist charat

这是我第一次使用 ArrayLists 进行作业,我刚刚了解到不能使用 charAt。我不知道如何继续这项任务。该程序的目的是打印一个数组,给出每个元音的平均值。例如,[奶酪,奶酪,奶酪] 的数组将为 [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;
}

所以我知道 Voels.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);

这就是你所说的吗?

最佳答案

  int [] vowelInt = new int [5];

for (int i = 0; i<vowels.size(); i++) {
    String word =(String) vowels.get(i);//try like this
char letter=word.charAt(0);   //return method to a dynamic array.    
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]++;
    }

关于java - 在处理 ArrayList 时,我可以用什么来替代 charAt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26352858/

相关文章:

Java反编译器给出奇怪的符号

列表类型不同时工作的 Java 列表数组

JavaScript 使用 CharAt 从输入文本中获取

javascript - 如果 charAt 等于字符列表

java - 尝试创建回文...如何比较 "output.charAt(k)"与原始 "output"字符串?

java - 使用注释的 Hibernate ID 生成器 "increment"

java - 如何实现“记住我”功能的自动化测试用例

java - 在软件中学习算法和保存数据

c# - 当需要更多空间时,列表会在 C# 中加倍空间。在某些时候,将 1024 加倍到 2048 会变得效率降低吗?

java - 从 Java ArrayList 中删除项目时接收 IndexOutOfBoundsException