2

我的 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);
4

3 回答 3

11

在大多数语言中,如果没有 break 语句,case 语句将“失败”。您只需为每个案例添加一个。像这样:

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;
于 2012-07-04T22:10:45.847 回答
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;
}

看看这个教程

于 2012-07-04T22:09:00.043 回答
1

您必须使用您拥有的break;每个 switch 语句。如果你不打破语句,那么下一个案例将被击中(所以一个直到最后一个有中断)。

    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;
    default:
        //Anything you want;
    break;

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

于 2012-07-04T22:53:31.807 回答