java - 操作顺序可能存在问题,不明白为什么这不是打印所需的输出。需要澄清
问题描述
变量gallonsLeft 实际上并没有被使用,它只是为了说明为什么一个设置有效而另一个无效。请参阅代码中的注释。在计算器上我得到相同的输出,不知道为什么我不在程序中。也许与使用的数据类型有关?我...
System.out.println("Tank Capacity: ");
int tankTotal = input.nextInt();
System.out.println("Gauge reading: ");
int userGauge = input.nextInt();
System.out.println("Miles per gallon: ");
int mpg = input.nextInt();
int gallonsLeft = ((userGauge * tankTotal)/100); // This prints out the correct number
int gallonsLeft = ((userGauge/100)* tankTotal); // This prints out 0
System.out.println(gallonsLeft);
解决方案
问题是因为 (userGauge/100) 结果不是 int。int 部分为零,因此您需要为此选择另一种数据类型:
double gallonsLeft = ((userGauge/100)* tankTotal); // This prints out now the correct number
推荐阅读
- sql - 统计 SQL 查询记录
- python - 使用 unittest.mock.patch 和 requests 捕获异常的问题
- c++ - C++17 中的折叠表达式
- vb.net - 如何在 vb 中修复此表达式和值错误?
- java - 在 Python 中压缩并在 Java 中解压缩以进行数据传输
- android - RecyclerView 在 Android Studio 3.5.3 中不显示项目
- javascript - 100% 的 Jest 代码覆盖率,在 try-catch 和 throw 结构中存在未知错误
- python - 打印从 1 到 100 的所有数字列表,跳过可被 3 或 5 整除的数字
- php - 尝试使用 destroy 函数执行一些删除操作时说 Error:Missing required parameters for Route Laravel 6.0 我该如何修复它
- office365 - /mailFolders/inbox/messageRules HTTP 503