Java 如何替换字符数组中的元音

Java 如何替换字符数组中的元音,java,Java,我在创建一个数组时遇到了问题,该数组将根据用户输入的内容更改数组中的元音。出现的一个问题是,当它请求字母i时,我得到了一个输入不匹配 /****************************************************************************** * This function will prompt the user to replace all vowels in the array *****************************

我在创建一个数组时遇到了问题,该数组将根据用户输入的内容更改数组中的元音。出现的一个问题是,当它请求字母
i
时,我得到了一个
输入不匹配

/******************************************************************************
 * This function will prompt the user to replace all vowels in the array
 ******************************************************************************/
public static void replace( char [] letters )
{
    Scanner scan = new Scanner(System.in);
    System.out.print(" Enter a character for i: ");
    int S = scan.nextInt();

    for(int i = 0; i < letters.length; i++)
    {
        if(letters[i] == 'A' || letters[i] == 'E' || letters[i] == 'I')
        {
            letters[i]= (char)S;
            System.out.print(letters);
        }
    }
}
/******************************************************************************
*此函数将提示用户替换数组中的所有元音
******************************************************************************/
公共静态无效替换(字符[]个字母)
{
扫描仪扫描=新扫描仪(System.in);
System.out.print(“输入一个字符作为i:”);
int S=scan.nextInt();
for(int i=0;i
打印数组与打印基本数据类型不同。你有什么

System.out.print(letters);
可以通过迭代来打印数组

for(int k =0;k < letters.length;k++){   
    System.out.println(letters[k]);
}
for(int k=0;k

此外,扫描仪还要求用户输入一个数字,似乎您真的希望他们输入一个字母

打印数组与打印基本数据类型不同。你有什么

System.out.print(letters);
可以通过迭代来打印数组

for(int k =0;k < letters.length;k++){   
    System.out.println(letters[k]);
}
for(int k=0;k

此外,扫描仪正在向用户询问一个数字,您似乎真的希望他们输入一个字母

要从输入中读取单个字符
扫描仪
您只需使用:

char s = scan.next().charAt(0);


如果您只想使用单个字符。

要从输入
扫描仪中读取单个字符,只需使用:

char s = scan.next().charAt(0);


如果您只想使用一个字符。

当您发布问题(或者之前六个问题中的每一个)时,右侧有一个标题为“如何格式化”的框。值得一读。还可以利用问题文本区域上方的[?]链接。不停地期待别人来帮你格式化东西是不好的。就在下面,有一个你正在键入的内容的实时预览。在实时预览显示完美格式之前不要发布。可能是
扫描器。下一步(“.”
——点是一个字符,表示“一个字符”。更多信息请访问。当您发布您的问题(或者之前六个问题中的每一个)时,右侧有一个标题为“如何设置格式”的框。值得一读。还可以利用问题文本区域上方的[?]链接。不停地期待别人来帮你格式化东西是不好的。就在下面,有一个你正在键入的内容的实时预览。在实时预览显示完美格式之前不要发布。可能是
扫描器。下一步(“.”
——点是一个字符,表示“一个字符”。更多信息请访问。当然不是内存位置。Java中没有这样的东西。请参阅以获取替代的“内存位置”?这个帖子被修改了吗?此外,使用for循环打印数组的内容也可以,但是toString()是一种方便的方法,它可以为您执行此操作(实际上它可能与您所做的完全相同),当然不是内存位置。Java中没有这样的东西。请参阅以获取替代的“内存位置”?这个帖子被修改了吗?另外,使用for循环打印数组的内容也可以,但是toString()是一种方便的方法,它可以为您执行此操作(实际上它可能与您所做的完全相同)。
next()
仍然消耗一个完整的字。
next()
仍然消耗一个完整的字。