Java 为什么我的switch语句的最后一个例子被击中了?

Java 为什么我的switch语句的最后一个例子被击中了?,java,android,Java,Android,我的Java应用程序中switch语句的最后一个例子总是被击中。我怎样才能使它正常工作 public void onClick(View v) { Random r = new Random(); int x=r.nextInt(4-1) + 1; switch (x) { case 1: setContentView(R.layout.image1); case 2: setContentView(R

我的Java应用程序中switch语句的最后一个例子总是被击中。我怎样才能使它正常工作

public void onClick(View v) {       
    Random r = new Random();
    int x=r.nextInt(4-1) + 1;
    switch (x)
    {
    case 1:
        setContentView(R.layout.image1);
    case 2:
        setContentView(R.layout.image2);
    case 3:
        setContentView(R.layout.image3);
    case 4:
        setContentView(R.layout.image4);

你的案件陈述失败了。您需要
中断

switch (x)
{
  case 1:
    setContentView(R.layout.image1);
    break;
  case 2:
    setContentView(R.layout.image2);
    break;
  case 3:
    setContentView(R.layout.image3);
    break;
  case 4:
    setContentView(R.layout.image4);
    break;
}

看看这个。

你的案例陈述失败了。您需要
中断

switch (x)
{
  case 1:
    setContentView(R.layout.image1);
    break;
  case 2:
    setContentView(R.layout.image2);
    break;
  case 3:
    setContentView(R.layout.image3);
    break;
  case 4:
    setContentView(R.layout.image4);
    break;
}

看看这一点。

在大多数语言中,Case语句在没有break语句的情况下都会“失效”。您只需要在每个案例中添加一个。像这样:

case 1:
    setContentView(R.layout.image1);
    break;
case 2:
    setContentView(R.layout.image2);
    break;
case 3:
    setContentView(R.layout.image3);
    break;
case 4:
    setContentView(R.layout.image4);
    break;

在大多数语言中,Case语句在没有break语句的情况下都会“失效”。您只需要在每个案例中添加一个。像这样:

case 1:
    setContentView(R.layout.image1);
    break;
case 2:
    setContentView(R.layout.image2);
    break;
case 3:
    setContentView(R.layout.image3);
    break;
case 4:
    setContentView(R.layout.image4);
    break;

你必须
break您拥有的每个开关语句。如果你不打破陈述,那么下一个案例将被击中(直到最后一个案例被打破)


而且。。。使用默认情况是一种很好的编程实践(如果没有遇到任何情况,将使用默认情况)

您必须
中断您拥有的每个开关语句。如果你不打破陈述,那么下一个案例将被击中(直到最后一个案例被打破)

而且。。。使用默认情况是一种很好的编程实践(如果未命中任何情况,将使用默认情况)