我在创建一个使用数组来计算用户输入的名称中的元音的程序时遇到了一些麻烦。用户应该能够输入最多 1000 个名称或说“完成”来结束程序。一旦用户获得 1000 个名字或说完成,它应该显示每个名字中元音的总数。 这是我到目前为止所拥有的:
import java.util.Scanner;
import java.lang.String;
import java.lang.Math;
public class Countvowels
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
final int LOW ='A';
final int HIGH = 'Z';
int[] letterCounts = new int[HIGH-LOW+1];
String[] word = new String[1000];
char[] wordLetter;
int offset;
System.out.println("Enter a name: ");
for(int letter = 0; letter < wordLetter.length; letter++){
word[letter] = input.nextLine();
wordLetter = word.toCharArray();
}
}
}
非常感谢您的帮助!
最佳答案
别介意那些代码。您只需要一行:
String[] word = new String[1000]; // given this
int vowels = Arrays.toString(word).replaceAll("(?i)[^aeiou]", "").length();
这首先将数组转换为字符串(基本上是 csv),然后将所有非元音(fyi (?i)
是不区分大小写的标志)替换为任何内容(即删除它们) ,然后只剩下元音就取长度。
关于java - 如何创建一个使用数组来计算元音的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703672/