Java:在方法中将每个循环更改为正常的循环问题

时间:2017-09-12 14:33:35

标签: java for-loop

我有以下方法,我想将每个循环更改为正常的循环。所以我试过这样的事情

for (int i = 0; i < above.length(); i++) {
    char x = above.toCharArray();
    if (x == 'x') {
        counter++;
    }
}

但我知道这是错的。那么,将每个循环的这些更改为正常循环的正确方法是什么?

public static int neighbourconditions(String above, String same, String below){
    int counter = 0;
    if(above != null){
        for(char x : above.toCharArray()){
            if(x == 'x'){
                counter++;
            }
        }
    }
    for (char x : same.toCharArray()){
        if (x == 'x'){
            counter++;
        }
    }
    if (below != null){
        for(char x : below.toCharArray()){
            if (x == 'x'){
                counter++;
            }
        }
    }
    return counter;
}

4 个答案:

答案 0 :(得分:5)

只需使用一个基本的<span>循环,其边界由字符串的长度控制,该循环与相应字符数组的大小相同,例如:第一个循环:

DOMDocument

会变成这样:

$doc = new DOMdocument;
libxml_use_internal_errors(true);
$doc->loadHTML($page);
$xpath = new DOMXpath($doc);
$rows = $xpath->query('//tr[td/span[@class=""]]');

foreach ($rows as $row) {
    $cells = $row->getElementsByTagName('td');

    $version = $cells->item(3)->nodeValue;
    $partNumber = $cells->item(4)->nodeValue;

    echo "Version: {$version}, Part Number: {$partNumber}", PHP_EOL;
}

答案 1 :(得分:2)

您可以使用above.toCharArray().length并获取值above.toCharArray()[i]并与@chillworld合作:

您可以在循环外创建一个char[] array = above.toCharArray();数组,如下所示:

char[] array = above.toCharArray();
for (int i = 0; i < array.length; i++) {
    if (array[i] == 'x') {
        counter++;
    }
}

答案 2 :(得分:1)

我想你必须找到传递给方法的每个字符串的长度。例如,如果上面的内容等于“some_randome_string”,则必须找到字符串的长度或字符串中的字符数。在这种情况下,那将是19.然后你会做;

        if <variable != null > {
           for (x = 0; x < 18 ; x++) {
       code block to be executed
      } 
    }

答案 3 :(得分:1)

如果您需要计算字符x的出现次数,那么您可以尝试下面或正则表达式:

String upAbove = above.replaceAll("x","");
int count = above.length() - upAbove.length();