for(int i=0;i<chInp.length();i++)
    {
        if(chInp.charAt(i)=='a' || chInp.charAt(i)=='e' || chInp.charAt(i)=='i' || chInp.charAt(i)=='o'|| chInp.charAt(i)=='u')
        {
            Character.toUpperCase(chInp.charAt(i));
        }
    }


该程序搜索字符串,识别所有元音并将其大写。我进行了测试,它能够成功识别元音,但是并没有将它们大写。

最佳答案

由于此行将chInp.charAt(i)放入uppercase中,因此您无需分配值:

Character.toUpperCase(chInp.charAt(i));


更新:因为您不允许这样做:

chInp.charAt(i) = Character.toUpperCase(chInp.charAt(i));


要分配新值,请使用StringBuilder

在循环创建之前:

StringBuilder mString = new StringBuilder(chInp);


在循环内部,分配新值:

mString.setCharAt(i, Character.toUpperCase(chInp.charAt(i)));

09-25 17:21