为什么我的switch语句的最后一个案例被命中了?

use*_*550 1 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.layout.image2);
    case 3:
        setContentView(R.layout.image3);
    case 4:
        setContentView(R.layout.image4);
Run Code Online (Sandbox Code Playgroud)

Nic*_*ney 10

案例陈述将在大多数语言中"落实"而没有中断陈述.您只需要为每个案例添加一个.像这样:

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;
Run Code Online (Sandbox Code Playgroud)


Gre*_*pff 5

你的案件陈述正在下降.你需要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;
}
Run Code Online (Sandbox Code Playgroud)

看一下本教程.