求助:方法调用冗余问题

求助:方法调用冗余问题

public static void main(String[] args) {
    IAct actor = null;
    Notice notice = new Notice();
    notice.notice();
    Scanner sc = new Scanner(System.in);
    while (true) {
        int n = sc.nextInt();
        switch (n) {
            case 1://棕熊
                actor = new Bear("Bill", 1);
                actor.act();
                notice.show();
                break;
            case 2://狮子
                actor = new Lion("Lain", 2, "公狮", "灰色");
                actor.act();
                notice.show();
                break;
            case 3://猴子
                actor = new Monkey("Tom", 1, "金丝猴");
                actor.act();
                notice.show();
                break;
            case 4://鹦鹉
                actor = new Parrot("Rose", 1, "牡丹鹦鹉");
                actor.act();
                notice.show();
                break;
            case 5://小丑
                actor = new Clown("Kahle", 5);
                actor.act();
                notice.show();
                break;
            default:
                System.out.println("请输入1-5的整数:");
        }
    }
}

上述代码:

每个case下notice.show();方法被重复调用,请问怎么能解决该问题,谢谢!!

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

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

1回答
没有马甲线的安琪拉 2017-12-25 14:34:31

show方法里是什么啊,我怎么不记得作业里有要求个show方法

  • 提问者 jarive #1
    自己定义的方法,就是作业里:是否继续观看(1/0)的那个
    2017-12-25 16:03:41
  • 没有马甲线的安琪拉 回复 提问者 jarive #2
    那你放在switch外面,加个flag试试,当flag==1的时候调用,然后在前5个case中分别设置flag=1,或者在default里面设置flag=0
    2017-12-25 16:13:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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