【发布时间】:2017-10-29 13:22:29
【问题描述】:
所以我真的是Java新手,我想做的是让用户输入一个关键字,该关键字将传递给不同的条件。如果关键字以“c”开头,它将执行cmethod。如果关键字以“n”开头,它将执行nmethod。 问题是,如果用户既不输入以“c”或“n”开头的内容,我也想显示一条消息。这是我能想到的(我知道这段代码行不通)
public static void main(String[] args) {
System.out.println("This program can randomize characters or numbers.");
System.out.println("Please input \"c\" for characters, and \"n\" for numbers. ");
Scanner choices = new Scanner(System.in);
if (choices.next().startsWith("c")) {
cmethod();
}
else {
nmethod();
}
//how do I execute the code below if none of the conditions are met?
else {
System.out.println("Keyword is wrong.");
}
}
编辑:尝试使用else if,但是为了执行nmethod(),用户必须输入“n”两次。
【问题讨论】:
-
else if在哪里 -
用 else-if 替换第二个 else,检查输入的字符是否为
n... -
我建议尝试将您的问题分解为多个步骤... 第 1 步:阅读单词。第2步:检查“c”。第 3 步:如果不是“c”,请检查“n”,第 4 步:Sysout。您需要将读取的值存储到变量中,因为调用choices.next() 两次会导致有趣的结果。
-
关于您的编辑,这是因为您再次致电
choices.next()再次提示他们。将结果存储在变量中,然后您可以根据需要多次对其进行测试。 -
@Eustion 您将问题的重要部分替换为“问题已解决”,因此您的问题及其答案不再有意义。你应该保留你说你尝试了
else if并且你正在阅读两个字符的部分,因为这是真正的问题(两次调用next())
标签: java if-statement next