Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java代码中,在完成菜单中的一个选项后,需要知道如何返回主菜单吗?_Java_Menu - Fatal编程技术网

在Java代码中,在完成菜单中的一个选项后,需要知道如何返回主菜单吗?

在Java代码中,在完成菜单中的一个选项后,需要知道如何返回主菜单吗?,java,menu,Java,Menu,我正在研究Java代码。我有一个菜单,用户选择一个选项,在该选项中执行某些操作,然后返回菜单,直到选择退出。我不知道如何让它回到菜单上 以下是我所拥有的: /** * * @author Lisa Hergert */ import java.util.Scanner; import java.util.Random; public class MathTutor { //Create scanner for user input Scanner keyboard =

我正在研究Java代码。我有一个菜单,用户选择一个选项,在该选项中执行某些操作,然后返回菜单,直到选择退出。我不知道如何让它回到菜单上

以下是我所拥有的:

/**
 *
 * @author Lisa Hergert
 */

import java.util.Scanner;
import java.util.Random;

public class MathTutor {

    //Create scanner for user input
    Scanner keyboard = new Scanner(System.in);

        //Declare variables
        int choice;
        Random generator = new Random();

        public MathTutor () {
            choice = 0;
        }

        public int getQuestionType() {
            while (choice < 1 || choice >3) {
                System.out.println("Math Tutor");
                System.out.println("\t1) Addition problem");
                System.out.println("\t2) Subtraction problem");
                System.out.println("\t3) Quit");
                System.out.println("Enter your choice (1 - 3): ");
                choice = keyboard.nextInt();
                if (choice < 1 || choice > 3) {
                    System.out.println("You must choose a number from 1-3");
                }
            } 
            return choice;
            }

    public void askQuestions () {
        for (int i = 0; i < 4; i++) {
            int num1 = genRandomNum();
            int num2 = genRandomNum();
            int max = choice;
            if (max == 3) {
                max = (int)(Math.random() * 3 + 1);
            }
            switch (max) {
                case 1: addition(num1, num2);
                    break;
                case 2: subtraction(num1, num2);
                    break;
                default: System.out.println("Error");
                System.exit(1);
            }
        }
    }

public int genRandomNum() {
    return (int)generator.nextInt(1000);
}

public void addition(int num1, int num2) {
    if (num1 > num2) {
        System.out.printf("%5d\n", num1);
        System.out.printf("+ %3d\n", num2);
        System.out.println("-------");
    } else {
        System.out.printf("%5d\n", num2);
        System.out.printf("+ %3d\n", num1);
        System.out.println("-------");
    }
    int sum = num1 + num2;
    int answer = keyboard.nextInt();
    if (num1 + num2 == answer) {
        System.out.println("Good job, you got it right!");
    } else {
        System.out.println("Good try, the correct answer is: " + sum);
    }
}

public void subtraction (int num1, int num2) {
    if (num1 > num2) {
        System.out.printf("%5d\n", num1);
        System.out.printf("- %3d\n", num2);
        System.out.println("-------");
    int diff = num1 - num2;
    int answer = keyboard.nextInt();
        if (num1 - num2 == answer) {
            System.out.println("Good job, you got it right!");
        } else {
            System.out.println("Good try, the correct answer is: " + diff);
        }
    } else {
        System.out.printf("%5d\n", num2);
        System.out.printf("- %3d\n", num1);
        System.out.println("-------");
    int diff = num2 - num1;
    int answer = keyboard.nextInt();
        if (num2 - num1 == answer) {
            System.out.println("Good job, you got it right!");
        } else {
            System.out.println("Good try, the correct answer is: " + diff);
        }
    } 
}

public static void main(String[] args) {

    MathTutor tutor = new MathTutor();

    int choice = tutor.getQuestionType();

    tutor.askQuestions();

    return;
  }
}
/**
*
*@作者丽莎·赫格特
*/
导入java.util.Scanner;
导入java.util.Random;
公开课数学导师{
//为用户输入创建扫描仪
扫描仪键盘=新扫描仪(System.in);
//声明变量
智力选择;
随机生成器=新随机();
公共数学导师(){
选择=0;
}
public int getQuestionType(){
而(选项<1 | |选项>3){
System.out.println(“数学导师”);
System.out.println(“\t1)加法问题”);
System.out.println(“\t2)减法问题”);
System.out.println(“\t3)Quit”);
System.out.println(“输入您的选择(1-3):”;
choice=keyboard.nextInt();
如果(选项<1 | |选项>3){
System.out.println(“您必须从1-3中选择一个数字”);
}
} 
回报选择;
}
公开提问(){
对于(int i=0;i<4;i++){
int num1=genRandomNum();
int num2=genRandomNum();
int max=选择;
如果(最大==3){
max=(int)(Math.random()*3+1);
}
开关(最大值){
案例1:添加(num1,num2);
打破
情况2:减法(num1,num2);
打破
默认值:System.out.println(“错误”);
系统出口(1);
}
}
}
public int genRandomNum(){
返回(int)生成器。nextInt(1000);
}
公共无效添加(整数num1,整数num2){
如果(num1>num2){
System.out.printf(“%5d\n”,num1);
System.out.printf(“+%3d\n”,num2);
System.out.println(“----”);
}否则{
System.out.printf(“%5d\n”,num2);
System.out.printf(“+%3d\n”,num1);
System.out.println(“----”);
}
整数和=num1+num2;
int answer=keyboard.nextInt();
如果(num1+num2==答案){
System.out.println(“干得好,你做对了!”);
}否则{
System.out.println(“很好的尝试,正确的答案是:“+sum”);
}
}
公共无效减法(整数num1,整数num2){
如果(num1>num2){
System.out.printf(“%5d\n”,num1);
System.out.printf(“-%3d\n”,num2);
System.out.println(“----”);
int diff=num1-num2;
int answer=keyboard.nextInt();
如果(num1-num2==答案){
System.out.println(“干得好,你做对了!”);
}否则{
System.out.println(“很好的尝试,正确的答案是:”+diff);
}
}否则{
System.out.printf(“%5d\n”,num2);
System.out.printf(“-%3d\n”,num1);
System.out.println(“----”);
int diff=num2-num1;
int answer=keyboard.nextInt();
如果(num2-num1==答案){
System.out.println(“干得好,你做对了!”);
}否则{
System.out.println(“很好的尝试,正确的答案是:”+diff);
}
} 
}
公共静态void main(字符串[]args){
MathTutor=新的MathTutor();
int choice=tutor.getQuestionType();
辅导教师。询问问题();
返回;
}
}
导入java.util.Scanner;
导入java.util.Random;
/**
*
*@作者丽莎·赫格特
*/
公开课数学导师{
//为用户输入创建扫描仪
扫描仪键盘=新扫描仪(System.in);
//声明变量
智力选择;
随机生成器=新随机();
公共数学导师(){
选择=0;
}
public int getQuestionType(){
而(选项<1 | |选项>3){
System.out.println(“数学导师”);
System.out.println(“\t1)加法问题”);
System.out.println(“\t2)减法问题”);
System.out.println(“\t3)Quit”);
System.out.println(“输入您的选择(1-3):”;
choice=keyboard.nextInt();
如果(选项<1 | |选项>3){
System.out.println(“您必须从1-3中选择一个数字”);
}
} 
回报选择;
}
公开提问(){
int num1=genRandomNum();
int num2=genRandomNum();
int max=选择;
如果(最大==3){
max=(int)(Math.random()*3+3);
}
开关(最大值){
案例1:添加(num1,num2);
打破
情况2:减法(num1,num2);
打破
默认值:System.out.println(“感谢您抽出时间”);
系统出口(1);
}
}
public int genRandomNum(){
返回(int)生成器。nextInt(1000);
}
公共无效添加(整数num1,整数num2){
如果(num1>num2){
System.out.printf(“%5d\n”,num1);
System.out.printf(“+%3d\n”,num2);
System.out.println(“----”);
}否则{
System.out.printf(“%5d\n”,num2);
System.out.printf(“+%3d\n”,num1);
System.out.println(“----”);
}
整数和=num1+num2;
int answer=keyboard.nextInt();
如果(num1+num2==答案){
System.out.println(“干得好,你做对了!”);
}否则{
System.out.println(“很好的尝试,正确的答案是:“+sum”);
}
数学
import java.util.Scanner;
import java.util.Random;

/**
 *
 * @author Lisa Hergert
 */
public class MathTutor {

        //Create scanner for user input
        Scanner keyboard = new Scanner(System.in);

            //Declare variables
            int choice;
            Random generator = new Random();

            public MathTutor () {
                choice = 0;
            }

            public int getQuestionType() {
                while (choice < 1 || choice >3) {
                    System.out.println("Math Tutor");
                    System.out.println("\t1) Addition problem");
                    System.out.println("\t2) Subtraction problem");
                    System.out.println("\t3) Quit");
                    System.out.println("Enter your choice (1 - 3): ");
                    choice = keyboard.nextInt();
                    if (choice < 1 || choice > 3) {
                        System.out.println("You must choose a number from 1-3");
                    }
                } 
                return choice;
                }

        public void askQuestions () {
                int num1 = genRandomNum();
                int num2 = genRandomNum();
                int max = choice;
                if (max == 3) {
                    max = (int)(Math.random() * 3+3);
                }
                switch (max) {
                    case 1: addition(num1, num2);
                        break;
                    case 2: subtraction(num1, num2);
                        break;
                    default: System.out.println("Thank you for your time.");
                    System.exit(1);
                }
            }


    public int genRandomNum() {
        return (int)generator.nextInt(1000);
    }

    public void addition(int num1, int num2) {
        if (num1 > num2) {
            System.out.printf("%5d\n", num1);
            System.out.printf("+ %3d\n", num2);
            System.out.println("-------");
        } else {
            System.out.printf("%5d\n", num2);
            System.out.printf("+ %3d\n", num1);
            System.out.println("-------");
        }
        int sum = num1 + num2;
        int answer = keyboard.nextInt();
        if (num1 + num2 == answer) {
            System.out.println("Good job, you got it right!");
        } else {
            System.out.println("Good try, the correct answer is: " + sum);
        }

        MathTutor tutor = new MathTutor();

        int choice = tutor.getQuestionType();

        tutor.askQuestions();
    }

    public void subtraction (int num1, int num2) {
        if (num1 > num2) {
            System.out.printf("%5d\n", num1);
            System.out.printf("- %3d\n", num2);
            System.out.println("-------");
        int diff = num1 - num2;
        int answer = keyboard.nextInt();
            if (num1 - num2 == answer) {
                System.out.println("Good job, you got it right!");
            } else {
                System.out.println("Good try, the correct answer is: " + diff);
            }
        } else {
            System.out.printf("%5d\n", num2);
            System.out.printf("- %3d\n", num1);
            System.out.println("-------");
        int diff = num2 - num1;
        int answer = keyboard.nextInt();
            if (num2 - num1 == answer) {
                System.out.println("Good job, you got it right!");
            } else {
                System.out.println("Good try, the correct answer is: " + diff);
            }
        }

        MathTutor tutor = new MathTutor();

        int choice = tutor.getQuestionType();

        tutor.askQuestions();
    }

    public static void main(String[] args) {

        MathTutor tutor = new MathTutor();

        int choice = tutor.getQuestionType();

        tutor.askQuestions();

    }
}
public static void main(String[] args) {
  MathTutor tutor = new MathTutor();

  int choice = tutor.getQuestionType();
  while(choice != 3) {
    tutor.askQuestions();
    choice = tutor.getQuestionType();
  }
  return;
}