Java 计算每个名称中的元音,并分别显示

Java 计算每个名称中的元音,并分别显示,java,arrays,count,names,Java,Arrays,Count,Names,我将如何让代码计算每个单词中的元音,而不是将所有元音相加并显示这些元音。我写的代码是: import javax.swing.JOptionPane; import java.util.Arrays; String[] names = new String[12]; int i; int j; j=0; int vowelCount; vowelCount=0; char ch; names[0] = JOptionPane.showInputDialog("Please enter a nam

我将如何让代码计算每个单词中的元音,而不是将所有元音相加并显示这些元音。我写的代码是:

import javax.swing.JOptionPane;
import java.util.Arrays;
String[] names = new String[12];
int i;
int j;
j=0;
int vowelCount;
vowelCount=0;
char ch;
names[0] = JOptionPane.showInputDialog("Please enter a name");
names[1] = JOptionPane.showInputDialog("Please enter a name");
names[2] = JOptionPane.showInputDialog("Please enter a name");
names[3] = JOptionPane.showInputDialog("Please enter a name");
names[4] = JOptionPane.showInputDialog("Please enter a name");
names[5] = JOptionPane.showInputDialog("Please enter a name");
names[6] = JOptionPane.showInputDialog("Please enter a name");
names[7] = JOptionPane.showInputDialog("Please enter a name");
names[8] = JOptionPane.showInputDialog("Please enter a name");
names[9] = JOptionPane.showInputDialog("Please enter a name");
names[10] = JOptionPane.showInputDialog("Please enter a name");
names[11] = JOptionPane.showInputDialog("Please enter a name");

Arrays.sort(names);

System.out.println("Name" + "        " + "Characters" + "    " + "Vowels");

for (i=0; i<12; i++)

 {
   for(j=0; j<names[i].length(); j++)
    {
      ch=names[i].charAt(j);

      if(ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' || 
      ch == 'I' || ch == 'o' || ch == 'O' || ch == 'u' || ch == 'U')
        vowelCount ++;
    }


System.out.println(names[i] + "       " +names[i].length() + "             " + vowelCount);

 }

我需要代码来接受用户输入的名称,按字母顺序对名称进行排序,对每个名称中的字符进行计数,然后显示每个名称中的元音。

保留某种排序的集合,很可能是一个。计算元音的数量时,将其添加到列表中

//declare collection here
for(j=0; j<names[i].length(); j++)
{
  ch=names[i].charAt(j);

  if(ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' || 
     ch == 'I' || ch == 'o' || ch == 'O' || ch == 'u' || ch == 'U')
        vowelCount ++;
        //add ch character to collection
    }
System.out.println(names[i] + "       " +names[i].length() + "             " + vowelCount);
//print vowels in collection
如果您感兴趣,请提供更多信息。根据您是否需要值/密钥对、是否允许重复条目以及是否需要特定顺序,您可以使用许多集合。此外,它们的性能因您使用它们的方式而异


您可以将所有元音添加到数组或列表中,然后将名称中的每个字符与元音数组中存储的每个字符进行比较。ArrayList有一个方法,您可以使用该方法在外部循环开始时将元音计数重置为0,它将表示在每个循环中找到的元音,而不是运行总数。顺便说一句,您不必编写处理小写和大写字母的代码。例如,您可以只在ArrayList中存储小写元音,然后将名称转换为小写。