当前位置: 首页 > 知识库问答 >
问题:

问了几个问题后怎么回菜单?

闻华容
2023-03-14

我目前正在创建一个程序,用户在其中输入一组特定的问题。并且程序必须在完全回答完所有问题后返回菜单。我该怎么做呢?

package com.company;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.print("""
                \n \nAre you ready to take the quiz?
                Enter "Y" to proceed or "N" to exit the program:""");

        String TakeQuiz = input.nextLine();

        if (TakeQuiz.equalsIgnoreCase("Y"))
            do {
            //blocks of code

                    }
                }
            }

                System.out.println("Do you want to take the quiz again?");
                String RetakeQuiz = input.nextLine();
                while (RetakeQuiz.equalsIgnoreCase("Y")) ;
            

        else {
            System.out.println("We hope to see you again soon!");
            System.exit(0);



        }
    }
}

共有2个答案

巫英纵
2023-03-14

有很多方法可以实现你想要的,我不会把主方法弄得乱七八糟,把代码分解成另一个函数并在那里循环。

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {

        for(;;)
            takeQuiz();
    }

    public static void takeQuiz(){
        Scanner input = new Scanner(System.in);

        System.out.print("\n \nAre you ready to take the quiz?" +
                "Enter \"Y\" to proceed or \"N\" to exit the program:");

        String takeQuiz = input.nextLine();

        if (takeQuiz.equalsIgnoreCase("Y")) {

            System.out.println("Running code...");
            System.out.println("Question 1");
            System.out.println("Question 2");
            System.out.println("Question 3");
        }

        // retake
        if (takeQuiz.equalsIgnoreCase("R")){
            takeQuiz();
        }
        if (takeQuiz.equalsIgnoreCase("N")){
            System.out.println("We hope to see you again soon!");
            System.exit(0);
        }
    }
}

注意转义符代表引号\“和+代表多行字符串

凌啸
2023-03-14

其基本结构如下所示:

布尔continueWithQuiz=true;

while(continueWithQuiz){//将处理测验的代码放在此处...//我们是否继续?System.out.println(“Do you want to take the quiz again?”);String retakeQuiz=Input.NextLine();continueWithQuiz=retakeQuiz==“y”;}

还有一个评论。请遵循Java命名标准。类名以大写字母开头。常数应为all_caps。其他的都是小写的。

 类似资料:
  • 我用tensorflow用Nvidia Geforce 1060(6G内存)训练CNN,但我得到了一个OOM例外。 训练过程在前两个阶段都很好,但在第三个阶段出现了OOM例外。 第二个月,第二个月,第七个月,第七个月,第七个月,第七个月,第七个月,第七个月,第三个月,第七个月,第七个月,第七个月,第二个月,第七个月,第二个月,第二个月,第二个月,第二个月,第二个月,第二个月,第三个月,第三个月,第

  • 岗位:电商行业运营(服装美妆方向 🟢时间线 11.20投递简历 11.22一面(业务面,面试完十分钟通知通过 11.23二面(业务面,面试完十分钟通知通过 11.24三面(hrbp面,莫名其妙被挂 面试问题汇总 🟡🟡🟡一面(业务面):🟡🟡🟡 🔶面试时长:20min➕ 🟡自我介绍 🟡深挖简历,了解过往经历的负责工作内容 🟡举一个例子阐述自己的工作核心目标,通过什么样的手段达到了

  • 我目前正在尝试用cubey地形制作一个基本游戏,类似于Minecraft classic。我的第一个问题: 如何在VBO中存储多维数据集列表,然后在更改该数据时重新生成该列表?我当前呈现的立方体如下所示: 我知道我需要使用和来修改VBO,但是如何存储多维数据集并在需要时删除它们?我应该使用ArrayList吗?另外,有人告诉我,我渲染立方体的方式是错误的,因为每个人都说我只渲染一个具有新坐标的立方

  • 本文向大家介绍mysql索引必须了解的几个重要问题,包括了mysql索引必须了解的几个重要问题的使用技巧和注意事项,需要的朋友参考一下 本文讲述了mysql索引必须了解的几个重要问题。分享给大家供大家参考,具体如下: 1、索引是做什么的? 索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。 表越大,花费的时间越多。如果表中查询的列有

  • 本文向大家介绍问题:如果数据有问题,怎么处理;相关面试题,主要包含被问及问题:如果数据有问题,怎么处理;时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1.上下采样平衡正负样例比;2.考虑缺失值;3.数据归一化 解析:发散问题需要自己展现自己的知识面      

  • 我已经有以下CORS问题好几天了,我不打算解决它。localhost:4200上的Angular应用程序不允许我访问上传照片的路径。 我的后台在拉勒维尔 我可以登录、注册和执行其他帖子请求,但不能这样。 这是我的应用程序的图像。 这是我注册为全球中间件的CORS中间件] 网络选项卡中的响应标头 1