只要数组包含 JAVA 中的某个值,我将如何编写一个将连续循环的语句

How would I write a statement that will loop continuously as long as an array contains a certain value in JAVA

如何编写只要数组包含特定值就会不断循环的语句?只要数组包含特定字符,我就需要它继续循环,但如果数组不包含这些字符值,则停止循环。

我在下面有点这个,但我几乎 100% 肯定它不会起作用

for(int PieceChecker = 0, PieceChecker < 1){

        //Code that needs to be carried out

        if (Arrays.asList(board).contains(♖)){
        PieceChecker++;
        }
    }

只需使用 while 循环。基本构造可以是

while (true) {
    // test situation
    if (!goodSituation()) {
        break;
    }
    // do something here
}
while (Arrays.asList(board).contains("♖")) {
    //do something
}

根据@shmosel 的评论编辑:-

对于像int[]这样的原始数组,你可以在while条件下使用这样的东西:-

IntStream.of(a).anyMatch(x -> x == 2)

对于基本的char数组,你可以使用这个条件:-

new String(cArr).indexOf('♖') > -1

根据问题,您不清楚您是想循环简单的字符数组还是字符数组列表。 在这里,我想到了一些可能会有所帮助的东西。

private static char[] myCharArray = new char[] { '\u00A9', '\u00AE', '\u00DD', 'A', 'B' };
private static Logger _log = Logger.getLogger(Test.class.getCanonicalName());


public static void main(String[] args) {

    // 1. Using character array directly
    for (int i = 0; i < myCharArray.length; i++) {
        while (myCharArray[i] == '\u00A9') {
            _log.info("Inside char array as this condition holds true");
        }
    }

    // 2. List of char arrays.
    List<char[]> list = Arrays.asList(myCharArray);
    for (char[] cs : list) {
        for (char c : cs) {
            while(c =='A'){
                _log.info("Inside charToList array as this condition holds true");  
            }
        }
    }
}

使用字符串比使用列表更容易处理此类只涉及字符的情况。使用无限 for 循环并在发现其中缺少该字符后跳出它。为此,您可以使用 indexOf

下面是可能对您有帮助的代码片段:

String board_string = new String(board);
for(;;) {
    if(board_string.indexOf('♖') == -1) {
        System.out.println("Breaking out of loop...");
        break;
    }
    else {
    //do something here
    }
}