Java 屏蔽字符串时保留空白

Java 屏蔽字符串时保留空白,java,string,arraylist,masking,Java,String,Arraylist,Masking,我希望在屏蔽字符串时保留字符串中的空白。下面是我为屏蔽字符串而编写的代码,但它没有考虑到我的Arraylist中的一些字符串有空格 for (int i=0;i<secretWord.length();i++){ System.out.print("*"); } for(int i=0;i您可以简单地检查字符是否为空格 for (int i=0;i<secretWord.length();i++){ if(secretWord.charAt(i)!=' ')

我希望在屏蔽字符串时保留字符串中的空白。下面是我为屏蔽字符串而编写的代码,但它没有考虑到我的Arraylist中的一些字符串有空格

for (int i=0;i<secretWord.length();i++){
    System.out.print("*");
}

for(int i=0;i您可以简单地检查字符是否为空格

for (int i=0;i<secretWord.length();i++){
    if(secretWord.charAt(i)!=' ')
    {
        System.out.print("*");
    }
    else
    {
        System.out.print(" ");
     }
}

for(int i=0;i您可以简单地检查字符是否为空格

for (int i=0;i<secretWord.length();i++){
    if(secretWord.charAt(i)!=' ')
    {
        System.out.print("*");
    }
    else
    {
        System.out.print(" ");
     }
}
for(int i=0;i
(在正则表达式中,
\S
表示不是空白字符的单个字符。)


(在正则表达式中,
\S
表示非空白字符的单个字符。)

我认为您正在寻找一个*字符和一个空格来屏蔽字符串

for (int i=0 ; i<secretWord.length() ; i++){
        if(Character.isWhitespace(charAt(i))){
             System.out.print(charAt(i));
         }else{
             System.out.print("*");
          }
    }

for(int i=0;i我想您正在寻找一个*作为字符,一个空格作为空格来屏蔽字符串。
如下所示:

for (int i=0 ; i<secretWord.length() ; i++){
        if(Character.isWhitespace(charAt(i))){
             System.out.print(charAt(i));
         }else{
             System.out.print("*");
          }
    }

for(int i=0;i您可以使用
charAt()
检查当前字符是否为空白。您可以使用
charAt()
检查当前字符是否为空白。我倾向于利用每一个机会提升
{}
在单行
如果
块。这种方式更容易阅读和出错。我倾向于利用一切机会在单行
如果
块上推广
{}
。这种方式更容易阅读和出错。
secretWord.charAt(I)==“应该是
secretWord.charAt(I)=''
@MikeB谢谢迈克。我忘了这是一个字符。:)制表符和其他空白字符呢?请参阅@ajb解决方案-它更复杂。@VasilLukach你是对的。但OP只需要保留空格,这就是原因。你怎么知道?问题是空格(不是空格)。
secretWord.charAt(I)=“
应该是
secretWord.charAt(i)=''
@MikeB谢谢迈克。我忘了这是一个字符。:)制表符和其他空白字符呢?请看@ajb solution-它更复杂。@VasilLukach你说得对。但OP只需要保留空格,这就是原因。你怎么知道?问题是空格(不是空格)。