首页 > 解决方案 > 用@符号替换字符串的辅音

问题描述

问题是将给定字符串中的所有辅音转换为@这里我使用字符串生成器来获取输入,但是在转换字符串中的所有字符时都转换为@为什么请帮忙?

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

上述程序的输出 - @@@@@@@

标签: javastringbuilder

解决方案


你应该使用 && 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) != ' ') {


} 

推荐阅读