老师帮看下这个代码有没有问题

老师帮看下这个代码有没有问题

http://img1.sycdn.imooc.com//climg/5bf6ca6e00019eae10000608.jpg
1.首先有点不明白为什么定义双while循环?2.其次判断actor =null这个本来应该放在switch外面 但是第一轮循环在switch里面才赋值所以就会不输出 要第二轮开始才输出 每个switch里面写一遍又很麻烦。3.是否继续观看,判断信息是否正确和退出程序这里的代码是否是在每个switch里面都要写一遍?怎么让他定义在switch外面又能实现?

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

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

1回答
好帮手慕阿莹 2018-11-23 13:40:18

1、关于多重循环,我在这个问答http://class.imooc.com/course/qadetail/78533

 下回复了你,同学可以去看一下呦。

2、调用actor.act可以放在最后。调用,到时候用户输入的是几actor就 是什么类型的。不用放在case中每次都去写。

3、这个循序http://img1.sycdn.imooc.com//climg/5bf7927d0001119302550073.jpg是和b这个循序并列的,都在a里边,不是放在switch结构里边呦,

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 SomnusL #1
    package Zoo; import java.util.Scanner; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Animal animal=new Bear(); IACT actor=null; boolean a=true; while(a) { animal.show(); boolean b=true; while(b) { Scanner sc=new Scanner(System.in); int i=sc.nextInt(); switch(i) { case 1: actor=new Bear("bill",2); case 2: actor=new Lion("laian",2,"灰","公"); case 3: actor=new Monkey("tom",1,"金丝猴"); case 4: actor=new Parrot("rose",1,"牡丹鹦鹉"); case 5: actor=new Clown("kandle",5); } if(i>0||i<6) { b=false; if(actor!=null) { actor.act(); }else{ System.out.println("信息不正确 请重新输入"); return; } } } boolean c=true; while(c) { System.out.println("是否继续观看0/1"); Scanner sc1=new Scanner(System.in); int k=sc1.nextInt(); if(k!=0|k!=1) { System.out.println("信息有误请重新输入"); break; } if(k==0) { System.out.println("退出程序"); return; } if(k==1) { c=false; break; } } } } } 还是不行 老师帮看下哦这个代码要怎么改
    2018-11-25 22:02:21
  • 好帮手慕珊 回复 提问者 SomnusL #2
    你好!已经在这个问答中对这个问题进行了回复,你先看看 http://class.imooc.com/course/qadetail/79075 ,如果还有问题可以继续提问,祝学习愉快!
    2018-11-26 10:25:19
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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