これは 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;
}
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);
このようなことを話していたのですか?