7-2作业中如何实现0/1的选择,避免输入非1或0的数字?

7-2作业中如何实现0/1的选择,避免输入非1或0的数字?

7-2作业中如何实现0/1的选择,避免输入非1或0的数字?

正在回答 回答被采纳积分+1

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

3回答
没有马甲线的安琪拉 2017-12-07 16:01:02
  while (flag) {
                        Scanner sc2 = new Scanner(System.in);
                        int n2 = sc2.nextInt();
                        switch (n2) {
                            case 1:
                                ms.notice();
                                break;
                            case 2:
                                System.out.println("表演结束");
                                flag = false;
                                break;
                        }
                    }

你的代码里用的是1,2 啊

另外,表演结束直接用return就行

未知数X 2017-12-06 22:18:15
public class TestAnimal {
    //表演的菜单显示
    public void notice() {
        System.out.println("************欢迎来到太阳马戏团***************");
        System.out.println("*******请选择表演者***********");
        System.out.println("*********   1、熊   ***************");
        System.out.println("*********   2、狮子 ***************");
    }

    // 表演是否继续判断
    public void notice2() {
        System.out.println("************是否继续观看(0/1)**************");
    }

    public static void main(String[] agrs) {
        TestAnimal ms = new TestAnimal();
        boolean flag = true;
        Scanner sc = new Scanner(System.in);
        int[] a = new int[5];
        while (flag) {
            ms.notice();
            int n = sc.nextInt();
            switch (n) {
                case 1:
                    // Bear
                    Animal a1 = new Bear("Bill", 1);
                    if (a1 instanceof Bear) {
                        Bear temp = (Bear) a1;
                        temp.atc();
                        temp.skill();
                        temp.love();
                    }break;
                case 2:
                    //Lion
                    Animal a2 = new Lion("Lain", 2, "灰色", "公狮");
                    if (a2 instanceof Lion) {
                        Lion temp2 = (Lion) a2;
                        temp2.atc();
                        temp2.skill();
                        temp2.love();
                    }break;
                default:
                    ms.notice2();
                    while (flag) {
                        Scanner sc2 = new Scanner(System.in);
                        int n2 = sc2.nextInt();
                        switch (n2) {
                            case 1:
                                ms.notice();
                                break;
                            case 2:
                                System.out.println("表演结束");
                                flag = false;
                                break;
                        }
                    }
            }
        }

    }
}


一叶知秋519 2017-09-21 18:03:08

思路可以是这样的:设置两个并列的while循环,一个用来生成表演者输出表演信息,一个用来控制用户是否要继续观看;然后再外围包上一个while循环,用来控制整体流程。如果在完成过程中还有疑惑的地方,可以再次提问,我们的助教都会帮助你解决问题的。祝学习愉快~

  • 设置两个并列的while循环,一个用来生成表演者输出表演信息,一个用来控制用户是否要继续观看;不知道如何写,运行还是有问题?
    2017-12-06 22:17:35
  • 下面是我的代码
    2017-12-06 22:19:01
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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