我有以下方法,我想将每个循环更改为正常的循环。所以我试过这样的事情
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;
}
答案 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();