【问题标题】:Java boolean int comparableJava boolean int 可比较
【发布时间】:2013-11-13 00:36:19
【问题描述】:

嗨,谁能告诉我为什么这不起作用或指出我正确的方向我要做的就是让用户输入 3 个数字,比较它们是否相同,这将是 3 个或它们是否都不同,这会使它们完全不同,或者如果它是 1 2 3 等的运行

我得到的错误代码是 boolean 和 int 类型无法比拟的

public boolean different() {

 do {
   System.out.println ("All results are different" + "\n" + rollone + "\n" + 
        rolltwo + "\n" + rollthree);
  }

  while (rollone != rolltwo && != rollthree) ;     

}

任何想法都提前非常感谢

【问题讨论】:

  • 复习基本的java语法。
  • != 运算符(与任何二元运算符一样)始终需要两个操作数,一个在左侧,一个在右侧。
  • 另外,您的方法必须返回一个布尔值。
  • 另外,如果您需要确保所有三个值都不同,则需要三个 != 运算符;两个是不够的。此外,上面的代码可能会无限次打印出您的消息。您可能不想重复打印输出;究竟是什么你想要做的不止一次?这就是需要进入循环主体的内容。
  • 基本上我想要做的就是将 3 个用户输入作为一个整数,比较这三个整数,看看它们是否是 3 个,2 个数字是否相同,或者它们是 3 个但不知道这里要走什么线...是使用 while 循环还是 if 和 else 语句?

标签: java command boolean


【解决方案1】:

可能最好的方法是使用一组 if 语句。在您的示例代码中使用 do/while 循环有点令人困惑。我将从将逻辑分解为多个部分开始。例如:假设我想知道一个数字是偶数还是奇数。

如果我不知道如何仅通过查看来判断一个数字是偶数还是奇数,我通常会怎么做?好吧,我知道任何 2 的倍数都是偶数。任何不是的都是奇怪的。我怎样才能把它翻译成代码?

if(x % 2 == 0) { return true; }

这是使用模运算符。它本质上是,“鉴于我有数字 x,如果我将它除以 2,还剩下什么?”如果这是 0,则 x 可以被 2 整除。因此,偶数。

else { return false; }

如果不是偶数,它一定是奇数。简单的东西。

现在,对于您的问题,您已经描述了很多用例。我想说写下每个用例,并尝试在您的脑海中思考您将如何手动执行此操作的逻辑。 (即有人在纸上递给你 3 个数字。如何确定它们是否相同?如果它们是运行的?如果它们没有关系?)然后想想如何将这种逻辑应用于 if / else 语句。

祝你好运。

【讨论】:

  • 谢谢!我只是不确定如何消除无与伦比的类型错误!
  • 您应该比较三个整数,但不要在同一行。所以.. 1 != 2
猜你喜欢
  • 2016-10-19
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多