2

我正在学习用 Java 编程,我想知道是否有一种简单的方法可以在方法中设置返回点,以防用户决定他们想要返回。例如,在一个方法中,我要求用户在以下三个选项中进行选择:

1) 注册

2) 搜索

3) 其他

假设用户选择注册。然后,此选择为他们提供了两个新选项:

1) 注册为用户

2) 注册为管理员

假设他们选择注册为管理员。然后提示他们输入他们的信息,但可能在中途他们意识到“等等!我想注册为用户,而不是管理员!”。输入“返回”也是一个选项,如果他们这样做,我希望能够将他们带回到他们在用户和管理员之间进行选择的菜单,而不是一直回到开头。有没有办法做到这一点?我知道我可以使用循环,但我的程序比我的示例要复杂一些,所以如果我能绕过它,我宁愿不这样做。我正在寻找一种类似于用汇编语言命名循环的方式,这样你就可以说“转到这一点”,它会返回,而用户不必重新输入他们之前所做的所有信息他们想要进入的子菜单。

有任何想法吗?如果情况变得更糟,我不反对使用循环。只是想我会问!

非常感谢!

4

3 回答 3

2

我认为使用循环是一种很好的方法。两个建议:

  • 您可能需要阅读break-with-label 语句;和/或
  • 您可能希望将每个菜单放入单独的函数中以使结构清晰。
于 2013-04-18T05:25:09.733 回答
0

假设您对每个选项都有方法。在任何时候,如果用户想要转到某个选项,只需从现有方法返回一些值,该值指示用户想要跳转到的选项。从主代码中,只需根据所选选项转到适当的方法即可。

此外,每个方法都可能接受父(id)的输入,因此返回不会有问题。

这样,您可以从程序中的任何位置返回父级或其他选项。

于 2013-04-18T05:26:35.303 回答
0

我认为您以错误的方式看待它。您无需回到代码中的某个点来执行撤消或倒带,您需要创建逻辑以能够更改决策并使其与迄今为止输入的任何数据一起工作。

例如,您将使用数据结构来保存用户输入的所有数据,如果他选择更改其注册类型,您将能够从该数据结构中填写他的信息。他还可以确定他给您的地址是错误的并更改它,您仍然希望保留到目前为止获得的所有数据,无论他是否从用户更改为管理员。

关键是,你是按顺序看的,好像代码只能直线向前和向后运行,而Java甚至汇编根本不是顺序的,你可以往各个方向走,跳到一些逻辑时间点,然后跳回原来的位置。

于 2013-04-18T05:37:53.400 回答