[英]Why is the last case of my switch statement getting hit?
我的 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);
在大多数语言中,如果没有 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;
你正在通过你的案例陈述。 你需要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;
}
看看这个教程。
你必须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;
而且...使用默认情况是一种很好的编程习惯(如果没有遇到任何情况,将使用)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.