import java.util.Scanner;
/*
* 先手动输入消费金额,再输入,抽到的折扣,计算出折后价格
*
*/
public class Exam03 {
public static void main(String[] args) {
System.out.print("消费金额:");
Scanner s = new Scanner(System.in);
int i = s.nextInt();
System.out.print("请输入折扣:");
int m = s.nextInt();
double n = i*m/10;
System.out.println("最终的金额为:"+n);
}
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/434513139736139.png "#left")
为什么不输出2.5 反而输出2.0呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 垂子帘 2021-11-26 21:02关注
跟语言的类型系统设计有关。Java、C、C++这类语言中都是整数在自动类型提升的低层次上,要遇到显式的浮点数据才会将整数提升为浮点;整数与整数运算不会触发类型提升,自然得到的还是整数。
也就是,整数运算先得到整数结果,然后再赋值给double。
如有帮助,望采纳!谢谢本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?
- ¥15 matlab(相关搜索:紧聚焦)
- ¥15 基于51单片机的厨房煤气泄露检测报警系统设计