【问题标题】:IntelliJ - redundancy of variablesIntelliJ - 变量的冗余
【发布时间】:2017-12-18 00:02:32
【问题描述】:

我正在上一堂课来制定假期计划。当我写像

这样的代码时
double money1 =  money / days;
money1 =  money*100;
money1 = (int) money1/ 100.0;

IntelliJ 在money / days 下划线并通知我它是多余的。

为什么会这样?我怎样才能使它不多余?

【问题讨论】:

  • 您遇到什么错误?您的预期输出是什么?
  • 输出应该是:你打算旅行多少天? 14 您打算在旅行上花费多少钱(以美元计)? 2300 您的旅行目的地的三个字母货币符号是什么?MXC 1美元有多少个MXC? 19.8 如果您旅行 14 小时,即 336 小时或 20160 分钟 如果您打算花费 2300 美元,这意味着您每天最多可以花费 164.28 美元(/对不起,我不知道如何正确格式化答案)
  • 又一个"I've searched everywhere..." 类型的问题。请避免此类毫无价值的陈述,而应显示拥有所发现的内容。这些陈述无助于澄清您的问题,但您展示了您发现的内容以及它对您的帮助确实
  • 所以你的逻辑是错误的,你希望有人来解决它?
  • 大家好,我是新来的,这是我第一次在这里提问。对不起。

标签: java intellij-idea redundancy


【解决方案1】:

立即重新分配变量,因此您的计算将丢失。

观察:

double money1 =  money / days;
money1 =  money*100; // <- Quotient is discarded and overwritten
money1 = (int) money1/ 100.0; <- Prior product is discarded and overwritten

这是 IntelliJ 警告您的;这闻起来很像虫子。我无法可靠地告诉您哪些这些语句要更改,因为它们做的事情非常不同,但这是您应该在逻辑流程中调试的内容。

【讨论】:

  • 我发现了错误,我在要求输入时使用 int 而不是 double ,所以: 替换为:int money = input.nextInt(); 为: double money =input.nextDouble();另外,修复了你说的代码部分:double money1 = (money / days) * 100;money1= (int) money1;money1/= 100.0;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2012-07-23
  • 2020-02-07
相关资源
最近更新 更多