有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

方法我用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) 个答案

  1. # 1 楼答案

    这是不幸的,因为你的方法更好。但我想你可以用大开关来创建while循环——针对所有20个问题。现在,在用户回答了您的问题之后,您只需设置一些变量来表示下一个要问的问题,而不是调用方法。然后在大开关语句中检查这个变量。我希望你明白我的想法

    但若你们问你们是否可以简单地复制粘贴到主方法中,那个么我想不,你们可能需要做一些重写

    编辑:我的意思是,您可以复制粘贴,但仍然需要重写方法调用以设置该变量

    另外,保存这个版本的代码,因为你永远不知道,一旦你在课堂上讨论了这个主题,也许你的老师会决定让你用方法重写它。还要注意,java中的约定是驼峰式的,所以应该将方法命名为doesItHuntPrey(),而不是doesItHuntPrey()