【发布时间】:2015-02-28 22:41:50
【问题描述】:
我没有要粘贴的代码,因为我只有一个要使用的方法的模板。希望这不是太宽泛,因为我已经看过所有内容并且没有收到我需要的答案。
很多人都看过或听说过“Magic 8 Ball”计划。用户提出一个问题,他们会收到一个随机答案作为回报。我本可以使用一种方法轻松编写代码,但现在我们已经深入研究了使用多种方法,但我错过了一块拼图。
这个节目的规则: 1)我必须创建至少三个方法:主方法、输入方法和输出方法。 2)我必须对随机答案使用 switch 语句。 3)我必须使用一个while循环(或一个do-while)来提示用户要么问另一个问题,要么退出。
我认为我唯一的问题在于将每段代码放在哪里。我需要打电话给扫描仪。这没什么大不了的。我知道如何执行 switch 语句。我知道如何随机化输出。我很可能会为继续/退出部分使用布尔值。但是我实际上应该在哪里放置扫描仪?布尔值?主要是?在输入法中?随机化的处理部分呢?我的所有变量是否都在 main 中声明,以便它们遍布各处?
我希望我的问题是有道理的。
【问题讨论】:
-
那么,你需要
Scanner在输出法中,还是只在输入法中?您应该在需要的地方声明它。这同样适用于您提到的所有变量。 -
@DavidWallace 所说的并不是最佳答案,在输入法中声明 Scanner 意味着您必须在每次输入迭代时创建它,这可能非常昂贵。在 main 中或在构造函数中将其作为类级别对象创建一次会便宜得多。如果在类级别创建,则可以直接在输入法中使用,否则如果在主方法中创建,则可以作为参数传递给输入法。
-
我在所有东西之上都导入了 java.util.Scanner,我只需要它两次:1) 询问用户的问题是什么,2) 询问他们是否想再玩一次。
-
@tinker 这取决于他/她是打算多次调用输入法,还是只调用一次。当然,如果要多次,那么应该在外面声明。但是如果它只是一次,那么最好在方法中声明它。无法分辨,他/她的设计何时还如此模糊。
-
没错!由于他们是初学者,最好解释这两种情况以及为什么特定方法更好。我们现在可能已经一起解释过了;)
标签: java methods while-loop switch-statement java.util.scanner