java 如何修复多个负(-)符号输出?[已关闭]

8qgya5xd  于 2023-02-07  发布在  Java
关注(0)|答案(2)|浏览(117)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我正在创建一个程序来响应提示:
Zillow这样的网站从数据库中获取有关房价的信息,并为读者提供很好的摘要,编写一个有两个输入的程序,当前价格和上个月的价格(都是整数),然后输出一个摘要,列出价格、自上个月以来的变化以及计算为(currentPrice * 0.051) / 12的估计月抵押贷款,最后一个输出以换行符结束。
它希望我有一个输出:
"这幢房子是$200000。从上个月起变化是$-10000。估计每月抵押贷款是$850.0。"**使用输入:二十万,二十一万
该房屋价值为350000美元,自上个月以来的变化为40000美元,预计每月抵押贷款为1487.5美元。**使用以下输入:三十五万,三十一万
以及:
该房屋价值为1000000美元,自上个月以来的变化为900000美元,预计每月抵押贷款为4250.0美元。**使用以下输入:一百万,十万
我已经设法做了一个程序,可以给我的结果,但由于某种原因,它搞乱了-符号在我的数字前面的"变化是$_______"。对于第一个输出,它给我$10000,第二个给我$-40000,第三个输入给我$-900000。有人能帮我或者解释我能做什么或者为什么它给我这些结果吗?
下面是我的代码:

import java.util.Scanner;

public class LabProgram {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);  
        int currentPrice = input.nextInt();
        int lastMonthsPrice = input.nextInt();
        int LMP = lastMonthsPrice - currentPrice;
        double EMP = (currentPrice * 0.051) / 12;
          
        System.out.print("This house is $" + currentPrice + ". ");
        System.out.println("The change is $" + LMP + " since last month.");
        System.out.println("The estimated monthly mortgage is $" + EMP + ".");
    }
}

我试过在"The change is $"中的美元符号后面加上一个负号(-),但在运行结束后,它只会为输出2和3添加两个负数
代码行的示例:

System.out.println("The change is $-" + LMP + " since last month.");

然后我得到这样的结果:

This house is $200000. The change is $-10000 since last month.
The estimated monthly mortgage is $850.0.
This house is $350000. The change is $--40000 since last month.
The estimated monthly mortgage is $1487.5.
This house is $1000000. The change is $--900000 since last month.
The estimated monthly mortgage is $4250.0.
flseospp

flseospp1#

你做减法的方法不对。价格的变化是当前价格减去先前价格。

int LMP = currentPrice - lastMonthsPrice;
lfapxunr

lfapxunr2#

lastMonthsPricecurrentPrice交换一下,你的减法公式错了。

相关问题