我是java新手,所以我也在做一些练习。这个要求我得到一张账单,得到利息,计算出那张账单的利息,然后把账单加上利息还给我。
代码如下:
import java.util.Scanner;
public class BillsAndInterest{
public static void main(String[] args){
double bill;
System.out.println("How mutch is the bill payment? ");
bill = new Scanner(System.in).nextDouble();
System.out.println("What's the interest in this bill in per cent?");
double interest = new Scanner(System.in).nextDouble();
double interestCalculated = interest / 100 * bill;
System.out.println("Your interest is " + interestCalculated + " dinheiros! \n So the amount is " + bill + interestCalculated + " dinheiros!");
}
}
所以问题是,如果我的账单是100第纳尔,利息是25,那么账单+利息必须是125,但是代码返回100.025.0第纳尔!
我试过换衣服 double interestCalculated
至 int interestCalculated
,但我有个错误:
账单和利息。java:15:错误:不兼容的类型:从double到int interestcalculated=interest/100*bill;^的可能有损转换1个错误
有人能帮我吗?有什么特别的课程需要我帮忙吗?
3条答案
按热度按时间rqqzpn5f1#
问题在于声明:
对…的论点
System.out.println
是一组文字和变量通过+
操作员。如果没有任何括号,则+
操作只是按照从左到右的顺序进行计算,就好像语句是这样写的:当然,你想要的是
bill
以及interestCalculated
加在一起,然后将总和合并到整个字符串结果中,类似于:强制这种求值顺序的一种方法是在其前后加上括号
bill + interestCalculated
:另一种方法是在单独的变量中计算总数,并在字符串表达式中使用该变量:
还有第三种选择,你可能更喜欢:
阅读更多关于
printf
在这里eyh26e7m2#
你应该只有一个
Scanner
. 这个词是“much”(不是“mutch”)。可以用一条语句声明和初始化变量。25%的利息总额是1.25
(不是0.25
)消息应该是乘法而不是加法。比如,pcrecxhr3#
你可以试试下面的代码。
您只需要声明scanner类对象一次,并且您的计算是正确的,但是在打印数字而不是
bill + interestCalculated
尝试(bill + interestCalculated)
```class BillsAndInterest{
public static void main(String[] args){
double bill;
Scanner scanner=new Scanner(System.in);
System.out.println("How mutch is the bill payment? ");
bill = scanner.nextDouble();
}
How mutch is the bill payment?
100
What's the interest in this bill in per cent?
25
Your interest is 25.0 dinheiros!
So the amount is 125.0 dinheiros!