gpt4 book ai didi

java - 为什么 (d <= 9999 || d > 999) 始终为真?

转载 作者:行者123 更新时间:2023-12-01 06:47:08 25 4
gpt4 key购买 nike

import java.util.Scanner;

public class asg3 {

public static int setoriginal() {
int d=0;
int l=0;
do {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a 4 digit number: ");
d=input.nextInt();
if (d<=9999 || d>999) {
break;
} else {
System.err.printf ("You did not enter 4 digits\n");
}
l=l+1;
} while (l<3);
return d;
}

public static void main(String[] args) {
setoriginal();
}
}

当我输入 12345 时,它可以工作,但似乎对四位数以外的任何其他数字都不起作用。知道什么可能是错的或者我做错了什么吗?

最佳答案

看看这个条件:

if (d <= 9999 || d > 999)

要使其评估为 false,您必须找到一个大于 9999小于 1000 的值。我认为您很难找到这样的数字......

我怀疑你的意思是:

if (d <= 9999 && d > 999)

我个人会将其写为:

if (d >= 1000 && d <= 9999)

if (1000 <= d && d <= 9999)

在所有这些版本中,您基本上是在检查它是否大于或等于 1000并且它是否小于或等于 9999。

关于java - 为什么 (d <= 9999 || d > 999) 始终为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com