java未对参数类型 int, double 定义运算符 ^

importjava.util.Scanner;publicclasstest20008{publicstaticvoidmain(String[]args){intmo... import java.util.Scanner;
public class test20008 {
public static void main(String[] args) {
int money, year;
double interest, rate;
Scanner in=new Scanner(System.in);
money=in.nextInt();
year=in.nextInt();
rate=in.nextDouble();
interest =money*(year^(1+rate)) - money;
System.out.println("interest = "+ (int)(interest*100+0.5)/100.0);
}
}
展开
 我来答
匿名用户
2013-09-25
展开全部
你好,你的程序在第十行interest =money*(year^(1+rate)) - money;出现了问题。^运算符不允许整型的year和浮点型的rate变量进行运算。其中,^运算符右面所跟的变量不可以是浮点型。可以将rate改为整型,或考虑其他方式实现幂运算。
匿名用户
2013-09-25
展开全部
异或是不支持double的,这样你必须把interest, rate都定义为int,如下: int money, year,interest,rate;

Scanner in=new Scanner(System.in);
money=in.nextInt();
year=in.nextInt();
rate=in.nextInt();
interest =money*(year^(1+rate)) - money;
System.out.println("interest = "+ (int)(interest*100+0.5)/100.0);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔血喷出飞溅
2017-07-27 · TA获得超过330个赞
知道小有建树答主
回答量:240
采纳率:79%
帮助的人:156万
展开全部
^运算符应用在int类型上面,无法int和double使用.
interest = money * (year ^ (int)(1 + rate)) - money;这样就对了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式