为什么我的switch语句的最后一个case击中? [英] Why is the last case of my switch statement getting hit?

查看:520
本文介绍了为什么我的switch语句的最后一个case击中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Java应用程序我switch语句的最后一种情况总是击中。我怎样才能使这项工作正常?

 公共无效的onClick(视图v){
    随机R =新的随机();
    INT X = r.nextInt(4-1)+ 1;
    开关(X)
    {
    情况1:
        的setContentView(R.layout.image1);
    案例2:
        的setContentView(R.layout.image2);
    案例3:
        的setContentView(R.layout.image3);
    情况4:
        的setContentView(R.layout.image4);


解决方案

Case语句将落空在大多数语言没有break语句。你只需要添加一个到每个案件。像这样的:

 案例1:
    的setContentView(R.layout.image1);
    打破;
案例2:
    的setContentView(R.layout.image2);
    打破;
案例3:
    的setContentView(R.layout.image3);
    打破;
情况4:
    的setContentView(R.layout.image4);
    打破;

The last case of my switch statement in my Java app is always getting hit. How can I make this work properly?

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);

解决方案

Case statements will 'fall through' in most languages without a break statement. You just need to add one to each case. Like this:

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语句的最后一个case击中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆