求教各路大神~

求教各路大神~

package com.imooc.test;
import com.imooc.model.Bear;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;
import com.imooc.model.Clown;
import java.util.InputMismatchException;
import java.util.Scanner;
public class CircusTest {
	/**
	 * 提示信息
	 */
	public void displayMenu() {
		System.out.println("**********欢迎来到太阳马戏团**********");
		System.out.println("**********请选择表演者***************");
		System.out.println("*******      1、棕熊      **********");
		System.out.println("*******      2、狮子      **********");
		System.out.println("*******      3、猴子      **********");
		System.out.println("*******      4、鹦鹉      **********");
		System.out.println("*******      5、小丑      **********");
	}
	
	public void displayMenu2() {
		System.out.println("**********是否继续观看(1/0)**********");
		Scanner sc = new Scanner(System.in);
		int input = sc.nextInt();
		if(input==1) {
			this.displayMenu();
		}
		else if(input==0) {
			System.out.println("**********是否继续观看(1/0)**********");
		}
		else {
			System.out.println("*******输入信息不正确,请重新输入**********");
		}
	}
	/**
	 * 主方法用switch结构
	 */
	public static void main(String[] args) {
		CircusTest test = new CircusTest();
		Scanner sc = new Scanner(System.in);
		int input = 0;
		test.displayMenu();
		while (true) {
			try {
				input = sc.nextInt();
			} catch (InputMismatchException e) {
				System.out.println("*******输入信息不正确,请重新输入**********");
				sc.next();
				continue;
			}
			
			// 若数据超出0-5的范围,提示错误信息并且要求重新输入!
			if ((input < 0) | (input > 5)) {
				System.out.println("*******输入的数字超出范围,请重新输入*******");
				continue;
			}
			if (input == 0) {
				System.out.println("**********欢迎下次光临**********");
				break;
			}
			
			switch (input) {
			
			case 1:
				Bear bear = new Bear("Bill", 1);
				bear.act();
				System.out.println();
				test.displayMenu2();
				break;
			case 2:
				Lion lion = new Lion("Lain", 2, "灰色", "公狮");
				lion.act();
				System.out.println();
				
				test.displayMenu2();
				break;
			case 3:
				Monkey monkey = new Monkey("Tom", 1, "金丝猴");
				monkey.act();
				System.out.println();
				
				test.displayMenu2();
				break;
			case 4:
				Parrot parrot = new Parrot("Rose", 1, "牡丹鹦鹉");
				parrot.act();
				System.out.println();
				
				test.displayMenu2();
				break;
			case 5:
				Clown clown = new Clown("Kahle", 5);
				clown.act();
				System.out.println();
				test.displayMenu2();
				break;
			}
		}
	}
}
想请问大神们,我怎么才能把程序在运行到switch结构里,然后输出某一位表演者的act()以后,能够显示“是否继续观看(1/0)”的内容,然后再输入1来继续switch的input,然后输入0直接结束整个程序啊?我现在写的程序直接输入0的话,其实并没有结束,还要再输入一次0才结束整个程序~求教~先谢谢大神们了~!


正在回答

登陆购买课程后可参与讨论,去登陆

11回答

你现在是在default里直接continue了,IAct actor = null写在while外面还是里面都无所谓。如果输错了,直接进入下一次循环,与actor值无关。这种已经是最优解。


如果default里不写continue:

第一种

while(true)

        IAct actor = null       //循环开始actor赋值为null

        switch

                case:   actor=值;break; 

                default:               //这里什么都不用写,直接给提示就可以

        if (actor != null) actor.act(); 

        else continue;  

        询问循环

第二种

IAct actor = null

while(true)           //循环开始actor没有重新为null,第二次表演就可能actor已经指向实例对象

        switch

                case:   actor=实例对象;break; 

                default:   actor=null;        //输入错误时再赋值为null

        if (actor != null) actor.act(); 

        else continue;  

        询问循环


  • 非常感谢同学的热心回答,棒棒哒。继续加油。祝:学习愉快~
    2020-06-08 19:17:52
  • Heijyu 提问者 #2
    明白了~谢谢大神!!!
    2020-06-08 20:06:12
Heijyu 提问者 2020-06-08 16:58:47
package com.imooc.test;

import java.util.Scanner;
import com.imooc.model.Bear;
import com.imooc.model.Clown;
import com.imooc.model.IAct;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;

public class CircusTest3 {

	/**
	 * 提示信息
	 */
	public void displayMenu() {
		System.out.println("**********欢迎来到太阳马戏团**********");
		System.out.println("**********请选择表演者***************");
		System.out.println("*******      1、棕熊      **********");
		System.out.println("*******      2、狮子      **********");
		System.out.println("*******      3、猴子      **********");
		System.out.println("*******      4、鹦鹉      **********");
		System.out.println("*******      5、小丑      **********");
	}

	public void displayMenu2() {
		Scanner sc1 = new Scanner(System.in);
		while (true) {
			System.out.println("**********是否继续观看(1/0)**********");
			String input1 = sc1.next();
			if (input1.equals("1")) { // 结束这个询问是否继续表演的循环,进入到下一次表演的循环
				displayMenu();
				break;
			} else if (input1.equals("0")) { // 程序直接安全退出
				System.out.println("**********欢迎下次光临**********");
				System.exit(0);
			} else { // 给提示,继续下一次询问是否继续
				System.out.println("*******输入信息不正确,请重新输入**********");
				continue;
			}
		}
	}

	public static void main(String[] args) {
		CircusTest3 test = new CircusTest3();
		test.displayMenu();
		Scanner sc = new Scanner(System.in);
		String input = null;
		IAct actor = null;
		while (true) {
			input = sc.next();
			switch (input) { // 根据输入的指令调取表演者信息

			case "1":
				actor = new Bear("Bill", 1);
				break;

			case "2":
				actor = new Lion("Lain", 2, "灰色", "公狮");
				break;

			case "3":
				actor = new Monkey("Tom", 1, "金丝猴");
				break;

			case "4":
				actor = new Parrot("Rose", 1, "牡丹鹦鹉");
				break;

			case "5":
				actor = new Clown("Kahle", 5);
				break;

			default:
				System.out.println("*******输入信息不正确,请重新输入**********");
				continue;
			}
			actor.act();
			test.displayMenu2();
		}

	}

}
感谢大神们指教~!


  • 因为你这段新的代码,把IAct actor = null; 写在while外面了,新的循环没有再给actor赋值为null。第一次表演后,第二次循环时候actor始终不为null。所以判断actor是不是为null就不好用了。
    2020-06-08 17:13:07
  • 提问者 Heijyu 回复 慕丝1539783 #2
    我想问下,在default里面没有判断的情况下,无论IAct actor = null写在while里面还是外面,如果我输入不是1-5的数字或者字母,程序还是会显示空指针异常然后终止程序了,这是因为我没有输入对的数字然后使得actor指向一个实例化对象,所以会产生空指针异常。那这样的话,好像IAct actor = null写在里面或者外面,其实都不影响判断耶?因为只有输对了数字才不是null~请问我这样理解对吗?
    2020-06-08 17:50:56
Heijyu 提问者 2020-06-08 16:19:35

按照老师的代码,一开始输入字母马上程序就出错了。。。

请输入0-5之间的数

Exception in thread "main" java.lang.NullPointerException

at com.imooc.test.CircusTest4.main(CircusTest4.java:73)


Heijyu 提问者 2020-06-08 15:50:07
package com.imooc.test;

import java.util.Scanner;
import com.imooc.model.Bear;
import com.imooc.model.Clown;
import com.imooc.model.IAct;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;

public class CircusTest3 {

	/**
	 * 提示信息
	 */
	public void displayMenu() {
		System.out.println("**********欢迎来到太阳马戏团**********");
		System.out.println("**********请选择表演者***************");
		System.out.println("*******      1、棕熊      **********");
		System.out.println("*******      2、狮子      **********");
		System.out.println("*******      3、猴子      **********");
		System.out.println("*******      4、鹦鹉      **********");
		System.out.println("*******      5、小丑      **********");
	}

	public void displayMenu2() {
		Scanner sc1 = new Scanner(System.in);
		while (true) {
			System.out.println("**********是否继续观看(1/0)**********");
			String input1 = sc1.next();
			if (input1.equals("1")) { // 结束这个询问是否继续表演的循环,进入到下一次表演的循环
				displayMenu();
				break;
			} else if (input1.equals("0")) { // 程序直接安全退出
				System.out.println("**********欢迎下次光临**********");
				System.exit(0);
			} else { // 给提示,继续下一次询问是否继续
				System.out.println("*******输入信息不正确,请重新输入**********");
				continue;
			}
		}
	}

	public static void main(String[] args) {
		CircusTest3 test = new CircusTest3();
		test.displayMenu();
		Scanner sc = new Scanner(System.in);
		String input = null;
		while (true) {
			IAct actor = null;
			try {
				input = sc.next();
			} catch (Exception ex) {
				System.out.println("*******输入信息不正确,请重新输入**********");
				sc.next();
				continue;
			}

			switch (input) { // 根据输入的指令调取表演者信息

			case "1":
				actor = new Bear("Bill", 1);
				break;

			case "2":
				actor = new Lion("Lain", 2, "灰色", "公狮");
				break;

			case "3":
				actor = new Monkey("Tom", 1, "金丝猴");
				break;

			case "4":
				actor = new Parrot("Rose", 1, "牡丹鹦鹉");
				break;

			case "5":
				actor = new Clown("Kahle", 5);
				break;

			default:
				System.out.println("*******输入信息不正确,请重新输入**********");
				break;
			}
			actor.act();
			test.displayMenu2();
		}

	}

}
老师,这样子写,我一开始输入字母程序就出错了,显示NullPointerException。。。应该怎么修改啊?


  • 按顺序阅读代码, IAct actor = null; 接收键盘输入 switch 如果键盘输入的不是1~5的字符串,进入default default没有对actor重新赋值,actor还是为null,null去调用.act()方法,就会触发空指针异常。 所以switch结束后,actor有两种情况,一种是被赋值,一种为null。需要进行判断 修改有两种方法: if (actor != null) actor.act(); //如果不为null进行表演 else continue; //如果为null,说明输入有错,进行下一次表演循环,不执行询问循环 或者更狠一点,直接在default语句里就continue,也不用判断actor是不是为null了。 另外说一点: try { input = sc.next(); } catch (Exception ex) { System.out.println("*******输入信息不正确,请重新输入**********"); sc.next(); continue; } 这段话input = sc.next();就是键盘输入本身就是字符串,不可能报错,try catch可以省了。
    2020-06-08 16:25:17
  • 提问者 Heijyu 回复 慕丝1539783 #2
    感谢大神~!是的我发出来发现不用try,我一开始没留意我已经是string类型了,试了一下直接用continue在default里比较好。不然上一个表演者的信息还会再出现一次~
    2020-06-08 16:51:07
好帮手慕阿满 2020-06-07 17:24:39

同学你好,同学的代码整体完成的不错,但是还可以精简一下,比如

1、在switch外定义接口的引用为null,在case后,指向具体的实现类对象,并且不需要将接口的引用强制转换为子类对象。

2、在switch后调用act()和displayMenu2()方法。

3、建议使用switch-case,不使用if-else。

代码如:

public class CircusTest2 {
 /**
     * 提示信息
     */
    public void displayMenu() {
        System.out.println("**********欢迎来到太阳马戏团**********");
        System.out.println("**********请选择表演者***************");
        System.out.println("*******      1、棕熊      **********");
        System.out.println("*******      2、狮子      **********");
        System.out.println("*******      3、猴子      **********");
        System.out.println("*******      4、鹦鹉      **********");
        System.out.println("*******      5、小丑      **********");
    }

    public void displayMenu2() {
        Scanner sc1 = new Scanner(System.in);
        while (true) {
            System.out.println("**********是否继续观看(1/0)**********");
            String input1 = sc1.next();
            if (input1.equals("1")) { // 结束这个询问是否继续表演的循环,进入到下一次表演的循环
                displayMenu();
                break;
            } else if (input1.equals("0")) { // 程序直接安全退出
                System.out.println("**********欢迎下次光临**********");
                System.exit(0);
            } else { // 给提示,继续下一次询问是否继续
                System.out.println("*******输入信息不正确,请重新输入**********");
                continue;
            }
        }
    }

    public static void main(String[] args) {
        CircusTest2 test = new CircusTest2();
        test.displayMenu();
        Scanner sc = new Scanner(System.in);
        while (true) {
            IAct actor = null;
            String input = sc.next();
            switch (input) { // 根据输入的指令调取表演者信息

                case "1":
                    actor = new Bear("bile", 1);
                    break;
                case "2":
                    actor = new Lion("Lain", 2, "灰色", "公狮");
                    break;
                case "3":
                    actor = new Monkey("Tom", 1, "金丝猴");
                    break;
                case "4":
                    actor = new Parrot("Rose", 1, "牡丹鹦鹉");
                    break;
                case "5":
                    actor = new Clown("Kahle", 5);
                    break;
                default:
                    System.out.println("请输入0-5之间的数");
                    break;
            }
            actor.act();
            test.displayMenu2();
        }

    }

}

祝:学习愉快~

  • 提问者 Heijyu #1
    老师,我在input = sc.next();加上了try catch语句,但是为什么当我输入字母的时候,显示的是nullpointerexception呀?
    2020-06-08 15:42:21
Heijyu 提问者 2020-06-07 11:44:52
package com.imooc.test;

import java.util.InputMismatchException;
import java.util.Scanner;
import com.imooc.model.Bear;
import com.imooc.model.Clown;
import com.imooc.model.IAct;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;

public class CircusTest2 {

	/**
	 * 提示信息
	 */
	public void displayMenu() {
		System.out.println("**********欢迎来到太阳马戏团**********");
		System.out.println("**********请选择表演者***************");
		System.out.println("*******      1、棕熊      **********");
		System.out.println("*******      2、狮子      **********");
		System.out.println("*******      3、猴子      **********");
		System.out.println("*******      4、鹦鹉      **********");
		System.out.println("*******      5、小丑      **********");
	}

	public void displayMenu2() {
		Scanner sc1 = new Scanner(System.in);
		while (true) {
			System.out.println("**********是否继续观看(1/0)**********");
			String input1 = sc1.next();
			if (input1.equals("1")) { // 结束这个询问是否继续表演的循环,进入到下一次表演的循环
				displayMenu();
				break;
			} else if (input1.equals("0")) { // 程序直接安全退出
				System.out.println("**********欢迎下次光临**********");
				System.exit(0);
			} else { // 给提示,继续下一次询问是否继续
				System.out.println("*******输入信息不正确,请重新输入**********");
				continue;
			}
		}
	}

	public static void main(String[] args) {
		CircusTest2 test = new CircusTest2();
		test.displayMenu();
		Scanner sc = new Scanner(System.in);
		String input = sc.next();
		while (true) {
			if (input.equals("0")) {
				System.out.println("**********欢迎下次光临**********");
				break;
			} else if ((input.equals("1")) || (input.equals("2")) || (input.equals("3")) || (input.equals("4"))
					|| (input.equals("5"))) {

				switch (input) { // 根据输入的指令调取表演者信息

				case "1":
					IAct bear = new Bear("Bill", 1);
					((Bear) bear).act();
					System.out.println();
					test.displayMenu2();
					break;

				case "2":
					IAct lion = new Lion("Lain", 2, "灰色", "公狮");
					((Lion) lion).act();
					System.out.println();
					test.displayMenu2();
					break;

				case "3":
					IAct monkey = new Monkey("Tom", 1, "金丝猴");
					((Monkey) monkey).act();
					System.out.println();
					test.displayMenu2();
					break;

				case "4":
					IAct parrot = new Parrot("Rose", 1, "牡丹鹦鹉");
					((Parrot) parrot).act();
					System.out.println();
					test.displayMenu2();
					break;

				case "5":
					IAct clown = new Clown("Kahle", 5);
					((Clown) clown).act();
					System.out.println();
					test.displayMenu2();
					break;
				}
				input = sc.next();
			} else {
				System.out.println("*******输入信息不正确,请重新输入**********");
				input = sc.next();
				continue;
			}

		}

	}

}


  • 一直不明白你主方法里,为什么又要用if,又要用switch? switch(input){ case "1":break; //表演 case "2":break; //表演 case "3":break; //表演 case "4":break; //表演 case "5":break; //表演 case "0": //可以用System退出(记得题目好像这里没有退出选项吧?) default: //输入信息不正确 }
    2020-06-07 13:08:18
  • 提问者 Heijyu 回复 慕丝1539783 #2
    因为之前上课我记得有个例子就是这样用的啊。。。我才刚学。。。只能模仿啊。。。
    2020-06-07 14:52:06
  • 提问者 Heijyu 回复 慕丝1539783 #3
    学习不都是这样一个过程吗。。。要我都会了我就不问了啊。。。有的时候就是自己发现不了问题才问的啊。。。
    2020-06-07 14:54:25
Heijyu 提问者 2020-06-07 11:43:57
package com.imooc.test;
import com.imooc.model.Animal;
import com.imooc.model.Bear;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;
import com.imooc.model.Clown;
import com.imooc.model.IAct;
import java.util.InputMismatchException;
import java.util.Scanner;
public class CircusTest {
	/**
	 * 提示信息
	 */
	public void displayMenu() {
		System.out.println("**********欢迎来到太阳马戏团**********");
		System.out.println("**********请选择表演者***************");
		System.out.println("*******      1、棕熊      **********");
		System.out.println("*******      2、狮子      **********");
		System.out.println("*******      3、猴子      **********");
		System.out.println("*******      4、鹦鹉      **********");
		System.out.println("*******      5、小丑      **********");
	}
	/**
	 * 主方法用switch结构
	 */
	public static void main(String[] args) {
		CircusTest test = new CircusTest();
		Scanner sc = new Scanner(System.in);
		int input = 0;
		test.displayMenu();
		while (true) {
			try {
				input = sc.nextInt();
			} catch (InputMismatchException e) {
				System.out.println("*******输入信息不正确,请重新输入**********");
				sc.next();
				continue;
			}
			// 若数据超出0-5的范围,提示错误信息并且要求重新输入!
			if ((input < 0) | (input > 5)) {
				System.out.println("*******输入的数字超出范围,请重新输入*******");
				continue;
			}
			if (input == 0) {
				System.out.println("**********欢迎下次光临**********");
				break;
			}
			switch (input) { // 根据输入的指令调取表演者信息
			case 1:
				IAct bear = new Bear("Bill", 1);
				((Bear) bear).act();
				System.out.println();
				break;
			case 2:
				IAct lion = new Lion("Lain", 2, "灰色", "公狮");
				((Lion) lion).act();
				System.out.println();
				break;
			case 3:
				IAct monkey = new Monkey("Tom", 1, "金丝猴");
				((Monkey) monkey).act();
				System.out.println();
				break;
			case 4:
				IAct parrot = new Parrot("Rose", 1, "牡丹鹦鹉");
				((Parrot) parrot).act();
				System.out.println();
				break;
			case 5:
				IAct clown = new Clown("Kahle", 5);
				((Clown) clown).act();
				System.out.println();
				break;
			}
			while (true) { // 是否继续表演的循环
				System.out.println("**********是否继续观看(1/0)**********");
				Scanner sc1 = new Scanner(System.in);
				int input1 = 0;
				try {
					input1 = sc.nextInt();
				} catch (InputMismatchException e) {
					System.out.println("*******输入信息不正确,请重新输入**********");
					sc.next();
					continue;
				}
				if (input1 == 1) { // 结束这个询问是否继续表演的循环,进入到下一次表演的循环
					test.displayMenu();
					break;
				} else if (input1 == 0) { // 程序直接安全退出
					System.out.println("**********欢迎下次光临**********");
					System.exit(0);
				} else { // 给提示,继续下一次询问是否继续
					System.out.println("*******输入信息不正确,请重新输入**********");
					continue;
				}
			}
		}
	}
}


慕丝1539783 2020-06-06 22:05:23

是不是要把某段代码封装成类方法,主要看这段代码有没有被复用,比如你后面“询问是否继续”的while就用到一次,写不写在普通方法里都一样,毕竟这题代码量就不大。但是,比如你键盘输入的Scanner,还用了try,那么长的一段代码,在整个代码里写了两三遍,就可以考虑把它封装成方法,用的时候只要调用一下。

Heijyu 提问者 2020-06-06 21:29:54
package com.imooc.test;
import com.imooc.model.Bear;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;
import com.imooc.model.Clown;
import java.util.InputMismatchException;
import java.util.Scanner;
public class CircusTest {
	/**
	 * 提示信息
	 */
	public void displayMenu() {
		System.out.println("**********欢迎来到太阳马戏团**********");
		System.out.println("**********请选择表演者***************");
		System.out.println("*******      1、棕熊      **********");
		System.out.println("*******      2、狮子      **********");
		System.out.println("*******      3、猴子      **********");
		System.out.println("*******      4、鹦鹉      **********");
		System.out.println("*******      5、小丑      **********");
	}
	/**
	 * 主方法用switch结构
	 */
	public static void main(String[] args) {
		CircusTest test = new CircusTest();
		Scanner sc = new Scanner(System.in);
		int input = 0;
		test.displayMenu();
		while (true) {
			try {
				input = sc.nextInt();
			} catch (InputMismatchException e) {
				System.out.println("*******输入信息不正确,请重新输入**********");
				sc.next();
				continue;
			}
			// 若数据超出0-5的范围,提示错误信息并且要求重新输入!
			if ((input < 0) | (input > 5)) {
				System.out.println("*******输入的数字超出范围,请重新输入*******");
				continue;
			}
			if (input == 0) {
				System.out.println("**********欢迎下次光临**********");
				break;
			}
			switch (input) { // 根据输入的指令调取表演者信息
			case 1:
				Bear bear = new Bear("Bill", 1);
				bear.act();
				System.out.println();
				break;
			case 2:
				Lion lion = new Lion("Lain", 2, "灰色", "公狮");
				lion.act();
				System.out.println();
				break;
			case 3:
				Monkey monkey = new Monkey("Tom", 1, "金丝猴");
				monkey.act();
				System.out.println();
				break;
			case 4:
				Parrot parrot = new Parrot("Rose", 1, "牡丹鹦鹉");
				parrot.act();
				System.out.println();
				break;
			case 5:
				Clown clown = new Clown("Kahle", 5);
				clown.act();
				System.out.println();
				break;
			}
			while (true) { // 是否继续表演的循环
				System.out.println("**********是否继续观看(1/0)**********");
				Scanner sc1 = new Scanner(System.in);
				int input1 = 0;
				try {
					input1 = sc.nextInt();
				} catch (InputMismatchException e) {
					System.out.println("*******输入信息不正确,请重新输入**********");
					sc.next();
					continue;
				}
				if (input1 == 1) {  //结束这个询问是否继续表演的循环,进入到下一次表演的循环
					test.displayMenu();
					break;
				} else if (input1 == 0) { //程序直接安全退出
					System.out.println("**********欢迎下次光临**********");
					System.exit(0);
				} else { //给提示,继续下一次询问是否继续
					System.out.println("*******输入信息不正确,请重新输入**********");
					continue;
				}
			}
		}
	}
}


  • 还有,这道题是让你用接口去实现类的多态,好像你没有用到接口,这样老师不会给满分,不要问我怎么知道的。
    2020-06-06 21:54:02
  • 提问者 Heijyu 回复 慕丝1539783 #2
    明白了~!感谢大神!
    2020-06-06 22:18:50
慕丝1539783 2020-06-06 21:09:36

另外,其实直接scanner.next()就可以了,不用特意转成int,因为没有进行数值的运算,只有case或者if判断是否等于某个值,总共就1,2,3,4,5,0这六个数,直接字符串"1","2","3","4","5","0"就可以表示是不是相等了。转int还要try语句,更麻烦,也容易出错。当然,也仅仅针对的是这个题目。

慕丝1539783 2020-06-06 21:01:06

你这个程序还有一个问题,就是问你是否继续表演时,如果选择不是0或者1,比如3,提示错误,但是再选择1,就是开始表演了,而不是表演菜单选择。


分成两个部分,“表演”为一个部分,“是否继续”为一个部分。

给你个缩进结构的思路,自己品一下。

while(true)

        //输入表演菜单

        switch            //表演的switch

                case:表演内容;break;

        while(true)            //是否继续表演的循环

                if  1,break;         //结束这个询问是否继续表演的循环,进入到下一次表演的循环

                else if  0,System.exit(0);             //这个表示程序直接安全退出,不管你有几重循环

                else                   //输错情况,只给提示,继续下一次询问是否继续

  • 提问者 Heijyu #1
    谢谢大神!我做出来了!
    2020-06-06 21:30:18
  • 提问者 Heijyu #2
    我发现把第二部分弄成一个displayMenu2()方法也可以,请问下从整体的程序设计的逻辑来看,是弄成方法然后在switch的每个case中调用好(这样main方法里看起来字数少一些),还是就这样写一个内循环while好一点呀?
    2020-06-06 21:53:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师