切换语句有问题?

Cla*_*isa 2 java string random case switch-statement

我只是想编写一个程序,在2000年到2010年之间产生一个随机的年份,然后读出那年发生的太空探索事实.这是我编写的代码,但是当我运行它时,无论生成什么年份,​​它都会打印最后一个案例(2010).我该如何解决?

import java.util.Random;

public class SpaceExploration {
public static void main(String[] args) {

int year =(int)(Math.random()*11) + 2000;
String eventString = "";

switch (year) {
    case 2000:  eventString = "2000: First spacecraft orbits an asteroid";
    case 2001:  eventString = "2001: First spacecraft lands on asteroid";
    case 2002:  eventString = "2002: N/A";
    case 2003:  eventString = "2003: Largest infrared telescope released";
    case 2004:  eventString = "2004: N/A";
    case 2005:  eventString = "2005: Spacecraft collies with comet";
    case 2006:  eventString = "2006: Spacecraft returns with collections from a comet";
    case 2007:  eventString = "2007: N/A";
    case 2008:  eventString = "2008: Kepler launched to study deep space";
    case 2009:  eventString = "2009: N/A";
    case 2010:  eventString = "2010: SpaceX sucessfully sends spacecraft to orbit and back";
    }
    System.out.println(eventString);
}
}
Run Code Online (Sandbox Code Playgroud)

Ani*_*kur 9

break在找到匹配的大小写之后,你需要在每个case之后添加语句,它将只执行所有的情况,直到它找到break或者你的情况结束2010.

  • 在这种情况下,您可以使用2010开始您的案例,并以2000结束. (2认同)