public class RandomInstrumentGenerator {
private Random rand = new Random();
public Instrument next() {
switch (rand.nextInt(6)) {
case 0:
return new Wind(); // return会直接跳出循环,不需要break
case 1:
return new Percussion();
case 2:
return new Stringed();
case 3:
return new Brass();
case 4:
return new Woodwind();
case 5:
return new Piano();
default:
}
}
}
public class RandomInstrumentGenerator {
private Random rand = new Random();
public Instrument next() {
switch (rand.nextInt(6)) {
default:
case 0:
return new Wind(); // return会直接跳出循环,不需要break
case 1:
return new Percussion();
case 2:
return new Stringed();
case 3:
return new Brass();
case 4:
return new Woodwind();
case 5:
return new Piano();
}
}
}
当default放最后时还会报错: Missing return statement
放前面由于没有break,所以会继续往下执行case 0的return
放最后没有return可执行
default放在前边没有return不报错是因为和下方的case语句共用了同一个return,放在最后的话没有return就报错了
您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您可以仔细阅读看是否解决了您的问题。
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~