172.16.0.151_20200826-陈政平
问题
while( true ) {
int op = rand.nextInt( 10 ); // 随机产生 [ 0 , 10 ) 之间的数字
switch( op ) {
case 0 :
// 需要判断能量是否足以完成 陆地驾驶 操作,若不足就跳出循环 (如何从switch直接跳出while循环?)
// 执行 陆地驾驶 操作 ( Machine 不具备陆地驾驶能力,需要转换为 Roadable 才可以调用 run 方法 )
if( m instanceof Roadable && m.getEnergy() > 10 ) {
Roadable R = (Roadable)m;
R.run();
System.out.println("足以完成 陆地驾驶");
}else {
return;
}
break;
case 1 :
// 需要判断能量是否足以完成 水中航行 操作,若不足就跳出循环
// 执行 水中航行 操作 ( Machine 不具备水中航行能力,需要转换为 Voyageable 才可以调用 voyage 方法 )
if( m instanceof Voyageable && m.getEnergy() > 15 ) {
Voyageable v = (Voyageable)m;
v.voyage();
System.out.println("足以完成 水中航行");
}else {
return;
}
break;
case 2 :
// 需要判断能量是否足以完成 空中飞行 操作,若不足就跳出循环
// 执行 空中飞行 操作 ( Machine 不具备空中飞行能力,需要转换为 Flyable 才可以调用 fly 方法 )
if( m instanceof Flyable && m.getEnergy() > 25 ) {
Flyable F = (Flyable)m;
F.fly();
System.out.println("足以完成 空中飞行");
}else {
return;
}
break;
default :
// 不支持的操作
}
System.out.println(m.getEnergy());
}
被绕进去了。。。
吐槽:
晚上教室里有点热
点赞