我试图将2个符号与字符串分开然后 计算这些符号中有多少。
所以,如果我有:1110001110000
然后应该发现有6 = 1和7 = 0
所以这就是我的尝试:
基本上我需要的是读取代码中的字符串索引string[$i]
然后IF
有1
或0
计算它。
我尝试使用for
- 循环
for ($i=0; $i < $getInput[$i] ; $i++) {
if ($getInput[$i] == 1) {
echo "ONE";
} elseif ($getInput[$i] == 0) {
echo "ZERO";
}
}
在这里,每次尝试回复ONE
时,每次为零时为{1},ZERO
为零。
$counter = 0;
foreach ($getInput as $key) {
echo $key;
}
在这里我尝试使用foreach
,在这里我并没有真正声明要查看一个索引,我尝试在for
中为每个索引添加一个但不用说,它不起作用
答案 0 :(得分:2)
使用substr_count,您可以以相当简单的方式执行此操作:
public class DNumber {
ArrayList<Digit> binary = new ArrayList<Digit>();
/**
* Constructor for objects of class DNumber
*/
public DNumber() {
Digit num = new Digit(0);
binary.add(0, num);
}
public DNumber(int val) {
int num = val;
while (num > 0) {
Digit bin = new Digit(num % 2);
num /= 2;
binary.add(0, bin);
}
}
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public String toString() {
String s = "";
for (Digit d : binary) {
s = s + d.toString();
}
return s;
}
}
答案 1 :(得分:1)
Substr_count。
http://php.net/manual/en/function.substr-count.php
AdjudicationDetail
<小时/>
如果你想在代码中暗示输出它(一一零)你可以使用数字格式 在这里,我将字符串拆分为一个数组并循环遍历它并输出每个数字的拼写。
$str = "1110001110000";
Echo "there is " .substr_count($str, "0") ." zeros \n";
Echo "there is " .substr_count($str, "1") ." ones \n";
输出:
$str = "1110001110000";
$arr = str_split($str);
$nf = new NumberFormatter("en", NumberFormatter::SPELLOUT);
Foreach($arr as $numb){
echo $nf->format($numb) . " ";
}