方法我用Java编写了这个20个问题的程序,使用switch语句进行赋值
我写的这个程序是为了玩一个20个问题和大约60个决定的变体。我使用switch语句来实现这一点,并这样编写:
static void Livinganimal() {
System.out.println("Does it have feathers, fur, or neither?");
String user = get.nextLine();
user = user.toLowerCase();
switch(user){
case "feathers":
FeathersQuestions();
break;
case "fur":
Furquestion();
break;
case "neither":
askneither();
break;
default:
wronginput();
}
}
static void FeathersQuestions() {
System.out.println("is it bigger than a soccer ball?");
String user = get.nextLine();
user = user.toLowerCase();
switch(user){
case "yes":
doesitfly();
break;
case "no":
doesiteatmeat();
break;
default:
wronginput();
}
}
static void doesitfly() {
System.out.println("Does it fly?");
String user = get.nextLine();
user = user.toLowerCase();
switch(user){
case "yes":
doesithuntprey();
break;
case "no":
doesitswim();
break;
default:
wronginput();
}
}
static void doesithuntprey() {
System.out.println("Does it hunt prey?");
String user = get.nextLine();
user = user.toLowerCase();
switch(user){
case "yes":
isitosprey();
break;
case "no":
isitcrested();
break;
default:
wronginput();
}
}
显然,它比这要长得多,但这是一个给出想法的片段。我让每个人都有自己的方法,可以轻松地互相调用,而不会混淆。现在有人告诉我,因为我们没有讨论过在课堂上使用多种方法,所以我不能以这种形式提交,所有内容都必须在主方法中。在当前的组成中,我是否可以传输一个完整格式的代码,并将其全部放在一个主方法下
# 1 楼答案
这是不幸的,因为你的方法更好。但我想你可以用大开关来创建while循环——针对所有20个问题。现在,在用户回答了您的问题之后,您只需设置一些变量来表示下一个要问的问题,而不是调用方法。然后在大开关语句中检查这个变量。我希望你明白我的想法
但若你们问你们是否可以简单地复制粘贴到主方法中,那个么我想不,你们可能需要做一些重写
编辑:我的意思是,您可以复制粘贴,但仍然需要重写方法调用以设置该变量
另外,保存这个版本的代码,因为你永远不知道,一旦你在课堂上讨论了这个主题,也许你的老师会决定让你用方法重写它。还要注意,java中的约定是驼峰式的,所以应该将方法命名为doesItHuntPrey(),而不是doesItHuntPrey()