java - 回答几个问题后如何返回菜单?
问题描述
我目前正在创建一个程序,用户可以在其中输入一组特定的问题。并且程序必须在完全回答完所有问题后返回菜单。我该怎么做?
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);
}
}
}
解决方案
有很多方法可以实现您想要的,我不会弄乱主要方法并将代码分解到另一个函数并在那里循环。
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);
}
}
}
注意引号 \" 的转义字符和多行字符串的 +
- Java 15 及更高版本允许将三引号作为Java 文本块 ,因此您的字符串消息应该是有效的
推荐阅读
- javascript - 获取另一个对象中具有与查询匹配的属性值的对象的所有键
- godot - 我可以使用 godots OS.execute 执行 Godot 包中的文件吗?
- sql-server - 通过存储过程在表中添加两个动态列,这些列必须有基于条件的数据
- powershell - 如何在文件夹中逐个选择文件以使用 PowerShell 重命名扩展名?
- intellij-idea - 在顶部显示整个 Sass 嵌套路径/级别?
- angular - 如何在 ag-grid 中选择细节网格
- arrays - How-come sort 将遍历数组中的所有元素,其中函数仅比较 2 个元素?
- gdal - GDAL geometry Within() 与 Contains() 函数有什么区别?
- html - 结构,在一定条件下
- node.js - 需要用于 Laravel 混合的 Webpack-cli?