为什么总是多打印一行“年利率”,这个问题怎么解决?

这是我正在尝试实现的抵押计算器,它允许用户首先输入本金,本金必须是 1k 和 1M 之间的数字,如果不是,程序将不断要求用户输入正确的数字,一旦用户在该范围内输入了正确的数字,程序就会要求用户输入“年利率”,该数字将是一个大于 0 且小于或等于 30 的数字,一旦用户输入正确的“年利率”,程序会要求用户输入期间(年),如果输入错误,则不断询问,最后计算抵押。

我正处于尝试实施年利率的阶段(如图 1 所示)iamge1,但输出一直显示“年利率”两次,而此时它应该只出现一次然后继续,我还尝试了图 2. image2 中显示的另一种解决方案,但我不知道如何处理黄色下划线,这表明 if 语句始终为假。有人可以帮助我吗,任何提示都会被应用。谢谢。

The image of image1 running.

karymxk 回答:为什么总是多打印一行“年利率”,这个问题怎么解决?

删除第 1 行的以下几行。 20 和 21:

System.out.print("Annual Interest Rate: ");
AIR = input.nextFloat();

以上几行是多余的,因为您在第 1 行的 AIR 循环内再次读取 while 值。 22.

理想情况下,您也应该对 period 进行类似的检查,以至少丢弃任何负值。

if (AIR > 0 && AIR <= 30) {
    while (period <= 0) {
        System.out.print("Period (Yearly): ");
        period = input.nextInt();
        if (period > 0) {
            // mortgage calculation
        } else
            System.out.println("Please enter a number greater than 0");
    }
} else ...
本文链接:https://www.f2er.com/3296.html

大家都在问