问题描述
1.比如输入-10 1 50 99这四个数字 ,输出结果是正常,最小值-10,最大值99;
2.若输入-10 1 50 100(这里有一个超过99的数字都是这种情况),输出结果最小值就是-10,最大值是50
<script>
var maxNum = 0;
var minNum = 0;
var i = 1;
while (true){
var num = prompt("请输入一个整数(输入0结束):");
// 输入0结束循环
if (num == 0){
break;
}
//将第一次输入的数值赋给最大值最小值
if (i == 1){
maxNum = num; //将这行代码注释,无问题
minNum = num;
}
if (num > maxNum){
maxNum = num;
}else if (num < minNum){
minNum = num;
}
i++;
}
document.write("最大值"+maxNum);
document.write("最小值:"+minNum);
</script>
1.正常输出
10 1 50 99这四个数字 ,输出结果是正常,最小值-10,最大值99;
2.错误输出
-10 1 50 100(这里有一个超过99的数字都是这种情况),输出结果最小值就是-10,最大值是50(这里最大值一定是小于100的最大值)
1.尝试将第一次输入值赋给最大值删除(maxNum = num;),问题解决。
1.想知道为什么会出现这种情况
var num = parseInt(prompt("请输入一个整数(输入0结束):"));
应该改成这样,不然你就只是在对比字符串了~~
我刚刚打断点看了下,只要不超过99就没问题,但是如果输入100就不会进入判断里面,会不会是数据类型的锅呢