Java 数据验证
我正在写一个贷款计算与数据验证。我的最大贷款金额为1000000,我正在使用以下方法进行验证。当我在程序中输入1000000时,它会返回我的错误方法。我认为(d>=max)将允许我达到并包括我的max。有人看到这个方法有问题吗?或者我是否应该在代码的其他地方查找问题 感谢您的帮助Java 数据验证,java,Java,我正在写一个贷款计算与数据验证。我的最大贷款金额为1000000,我正在使用以下方法进行验证。当我在程序中输入1000000时,它会返回我的错误方法。我认为(d>=max)将允许我达到并包括我的max。有人看到这个方法有问题吗?或者我是否应该在代码的其他地方查找问题 感谢您的帮助 public static double getDoubleWithinRange(Scanner sc, String prompt, double min, double max) { double d =
public static double getDoubleWithinRange(Scanner sc, String prompt, double min, double max)
{
double d = 0.0;
boolean isValid = false;
while (isValid == false)
{
d = getDouble (sc, prompt);
if (d <= min)
{
System.out.println(
"Error! Number must be greater than " + min + "." );
}
else if (d >= max)
{
System.out.println("Error! Number must be less than " + max + "." );
}
else
isValid = true;
}
return d;
公共静态双getDoubleWithinRange(扫描仪sc、字符串提示、双最小值、双最大值)
{
双d=0.0;
布尔值isValid=false;
while(isValid==false)
{
d=getDouble(sc,提示符);
如果(d=最大值)
{
System.out.println(“错误!数字必须小于“+max+”);
}
其他的
isValid=true;
}
返回d;
//从用户处获取输入
System.out.println(“数据输入”);
double loanAmount=getDoubleWithinRange(sc,
“输入贷款金额:”,0,1000000);
double interestRate=getDoubleWithinRange(sc,
“输入年利率:”,0,20);
整数年=getIntWithinRange(sc,
“输入年数:”,0100);您所说的如果金额大于或等于一百万,则会导致错误。您想说如果金额大于显示错误,则使用
如果(d>max)
,因为您最多需要1000000(并且可以包括1000000)。显示一些输入和输出(理想情况下,从控制台窗口复制/粘贴);还显示调用此方法的代码和传入的值。欢迎使用贷款计算器数据输入输入贷款金额:1000000错误!数字必须小于1000000.0。输入贷款金额:抱歉,我不知道如何发布原始问题以外的代码确定我取了=注销,现在是(d>最大值)它仍然说这个数字需要少于一百万