首页 > 解决方案 > 将数组打印到控制台时是否可以隐藏数组中的元素?

问题描述

我正在学习 Java 语言,现在我正在做一个叫做战舰游戏的小项目。

问题:我想用特定索引中的随机字符填充 char 数组,但是当整个数组在控制台中打印时,这些字符不应该对用户可见,因为基于这些字符,用户会点击这些字符。

标签: javaarrayschar

解决方案


一个快速而肮脏的解决方案是在打印出字符时检查是否应该隐藏字符:

public static void main(String[] args)
{
    
    //your char array
    char[] charsArray = {'a', 'b', 'c', 'd', 'e'};
    //chars you want to hide
    char[] charsToHide = {'b', 'd'};
    
    //loop over you char array
    for (char myChar : charsArray)
    {
        
        //check if element is a char to hide
        if (containsChar(myChar, charsToHide) == false) 
        //if not, print it
        {System.out.print(myChar);}
        
    }
    
}

public static boolean containsChar(char myChar, char[] charsToHide)
{
    
    //loop over all chars to hide
    for (char charArrayElement : charsToHide)
    {
        
        //check if you char is part of chars to be hidden
        if (myChar == charArrayElement) {return true;} 
        
    }
    
    return false;
    
}

推荐阅读