java - 用@符号替换字符串的辅音
问题描述
问题是将给定字符串中的所有辅音转换为@这里我使用字符串生成器来获取输入,但是在转换字符串中的所有字符时都转换为@为什么请帮忙?
import java.util.Scanner;
public class Sample
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder str2= new StringBuilder(sc.nextLine());
for(int i=0;i<str2.length();i++)
{
if(str2.charAt(i)!='a'||str2.charAt(i)!='e'||str2.charAt(i)!='i'||str2.charAt(i)!='o'||str2.charAt(i)!='u'||str2.charAt(i)!='A'||str2.charAt(i)!='E'||str2.charAt(i)!='I'||str2.charAt(i)!='O'||str2.charAt(i)!='U'||str2.charAt(i)!=' ')
{
str2.setCharAt(i,'@');
}
}
System.out.println(str2);
}
}
样本输入 - aacaaaa 预期输出 - aa@aaaa
上述程序的输出 - @@@@@@@
解决方案
你应该使用 && insetead of ||
if (str2.charAt(i) != 'a' && str2.charAt(i) != 'e' && str2.charAt(i) != 'i' && str2.charAt(i) != 'o' && str2.charAt(i) != 'u' && str2.charAt(i) != 'A' && str2.charAt(i) != 'E' && str2.charAt(i) != 'I' && str2.charAt(i) != 'O' && str2.charAt(i) != 'U' && str2.charAt(i) != ' ') {
}
推荐阅读
- matlab - 如何在 Matlab 的 NN 工具箱中进行正则化
- dart - 如何在单击 BottomAppBar 图标时导航到新屏幕?
- groovy - Groovy 元编程(getProperty)仅在从类外部调用时才有效?
- javascript - 使用带有映射的异步管道而不是订阅
- redis - Is it possible - use redisearch for caseless search?
- notepad++ - remove rec. from middle of line in notepad++
- android-studio - 如何修复 Gradle 构建显示的“用于编码 windows-1252 错误的不可映射字符”?
- excel - Excel VBA delete all files in selection of folders
- netsuite - Trying to compare vendor purchase price but the results only display the preferred vendor price
- denodo - 如何在 Denodo 中声明一个变量?