【问题标题】:Using answer in if [closed]在 if [关闭] 中使用答案
【发布时间】:2014-11-16 17:58:14
【问题描述】:

我遇到了这个问题。这是我的代码:

String answer;

System.out.println("Choose a day");
answer = tastatur.nextLine();


if(svar.equals("saturday"))
  System.out.println("Saturday");

我想在 if 语句中使用答案。

【问题讨论】:

  • svar.equals("saturday") 应该是answer.equals("saturday") ?
  • 如果您不希望基于假设的随机答案,请指定不起作用
  • @brso05 在 SO 的宏伟计划中,这个问题和任何答案可能对社区没有太大帮助,因为这个问题的发布者似乎对 Java 非常陌生。
  • @brso05 是的,这将有助于操作,但如果他/她尝试一下,他/她可以轻松找到解决他/她问题的方法。
  • @brso05 SO 的主要目的不仅仅是帮助提问者,而是帮助有同样问题的人。这就是为什么问题需要有效(它需要清晰,并包含简短但完整的代码,让我们和未来的读者重现所描述的问题)。

标签: java string if-statement equals


【解决方案1】:

您正在查看错误的变量。

if( answer.equals("saturday") ){
   System.out.println("Saturday")
}  

逻辑是什么?
您正在阅读用户在answer 变量中输入的内容。在您的代码中,您正在检查 svar 变量,而您应该检查 answer 变量。如果用户确实输入了星期六,您将在屏幕上打印它。否则,不是。

equalsIgnoreCase() 是一种更好的使用方法,因为Saturdaysaturday 在一个有大写的 S 而另一个没有的意义上是不同的。 equals() 会将它们视为不同的。

您曾说过 Java 对您来说是新事物。我希望您将tastatur 变量正确初始化为:

BufferedReader tastatur = new BufferedReader(new InputStreamReader(System.in));  

并在您的程序中使用import java.io.*


顺便说一句,请阅读official tutorials provided by Java。它们是很好的资源。当您在自己寻找答案时运气不佳时,可以在 StackOverflow 上提问。话虽如此,欢迎来到 StackOverflow,如果问题不符合我们的标准或包含垃圾邮件,我们会非常无情地关闭它们。

【讨论】:

  • 不胜感激的评论
  • 看,取消投票!
  • +1 描述性和真棒
  • 我没有投反对票。但这是一个完全基于对一个非常糟糕的问题的假设的答案。我不鼓励这样的答案,因为它们往往会导致我们无处可去。我仍然无法弄清楚这个问题。
  • @TheLostMind 是的,你是对的。我假设很多很多事情。 :) 问题也可能在 OP 的 main() 声明中,这意味着我的回答是错误的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-24
  • 2022-06-16
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多