我必须要求用户输入10个不同的数字。我必须查看用户输入是否少于输入的最后一个数字(该数字已添加到数组中)。我在比较它时遇到了麻烦,因为我的逻辑听起来不错,但是无论出于什么原因,它都不会在循环的早期保留较低的数字。也许你们可以看看我的if语句中的问题所在。 getNum()函数只是获取用户输入,如果您感到好奇,则将其返回。预先感谢!
private void editTree(ParseTree tree){
for(int i = 0; i < tree.getChildCount();i++){
ParseTree child = tree.getChild(i);
if(child instanceof TerminalNode){
//Edit child's text
} else {
editTree(child);
}
}
}
答案 0 :(得分:2)
您始终为lowestNum
分配一个新值
numInput = getNum();
myArray[indexTracker] = numInput;
if (numInput <= myArray[indexTracker])
{
lowestNum = numInput;
lowestNumPlace = indexTracker;
}
...因为执行A = B后,B <= A在逻辑上将始终为真。
尝试以下方法:
numInput = getNum();
myArray[indexTracker] = numInput;
if (numInput <= lowestNum) // note, comparing to the lowest number, not the current one
{
lowestNum = numInput;
lowestNumPlace = indexTracker;
}