Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用嵌套switch语句过多是否有问题?_Java_Android Spinner - Fatal编程技术网

Java 使用嵌套switch语句过多是否有问题?

Java 使用嵌套switch语句过多是否有问题?,java,android-spinner,Java,Android Spinner,我从未使用嵌套的switch语句。只是想知道在我的代码中使用嵌套switch语句是否合适。 我有3个整数变量键入和位置值0或1和项,使用0至6。 无论如何,我的代码太长,无法缩短: public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) { type = spinner_type.getSelectedItemPosition(); posi

我从未使用嵌套的switch语句。只是想知道在我的代码中使用嵌套switch语句是否合适。 我有3个整数变量键入位置
0
1
,使用
0
6
。 无论如何,我的代码太长,无法缩短:

public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {
        type = spinner_type.getSelectedItemPosition();
        position = spinner_pos.getSelectedItemPosition();
        item = spinner.getSelectedItemPosition();
        switch (adapterView.getId()) {
            case R.id.cck_spinner_type:
                switch (pos) {
                    case 0:
                        if(position == 0 && item == 0) {
                            sp_name = "cc_left";
                        } else if(position == 0 && item == 1){
                            sp_name = "cc_left1";
                        } else if(position == 0 && item == 2){
                            sp_name = "cc_left2";
                        }else if(position == 0 && item == 3){
                            sp_name = "cc_left3";
                        }else if(position == 0 && item == 4){
                            sp_name = "cc_left4";
                        }else if(position == 0 && item == 5){
                            sp_name = "cc_left5";
                        }else if(position == 0 && item == 6){
                            sp_name = "cc_left6";
                        }else if(position == 1 && item == 0) {
                            sp_name = "cc_right";
                        } else if(position == 1 && item == 1){
                            sp_name = "cc_right1";
                        } else if(position == 1 && item == 2){
                            sp_name = "cc_right2";
                        }else if(position == 1 && item == 3){
                            sp_name = "cc_right3";
                        }else if(position == 1 && item == 4){
                            sp_name = "cc_right4";
                        }else if(position == 1 && item == 5){
                            sp_name = "cc_right5";
                        }else if(position == 1 && item == 6){
                            sp_name = "cc_right6";
                        }
                        break;
                    case 1:
                        if(position == 0 && item == 0) {
                            sp_name = "ccL_left";
                        } else if(position == 0 && item == 1){
                            sp_name = "ccL_left1";
                        } else if(position == 0 && item == 2){
                            sp_name = "ccL_left2";
                        }else if(position == 0 && item == 3){
                            sp_name = "ccL_left3";
                        }else if(position == 0 && item == 4){
                            sp_name = "ccL_left4";
                        }else if(position == 0 && item == 5){
                            sp_name = "ccL_left5";
                        }else if(position == 0 && item == 6){
                            sp_name = "ccL_left6";
                        }else if(position == 1 && item == 0) {
                            sp_name = "ccL_right";
                        } else if(position == 1 && item == 1){
                            sp_name = "ccL_right1";
                        } else if(position == 1 && item == 2){
                            sp_name = "ccL_right2";
                        }else if(position == 1 && item == 3){
                            sp_name = "ccL_right3";
                        }else if(position == 1 && item == 4){
                            sp_name = "ccL_right4";
                        }else if(position == 1 && item == 5){
                            sp_name = "ccL_right5";
                        }else if(position == 1 && item == 6){
                            sp_name = "ccL_right6";
                        }
                        break;
                }
                break;

            case R.id.cck_spinner_pos:
                switch (pos) {
                    case 0:
                        if(type == 0 && item == 0) {
                            sp_name = "cc_left";
                        } else if(type == 0 && item == 1){
                            sp_name = "cc_left1";
                        } else if(type == 0 && item == 2){
                            sp_name = "cc_left2";
                        }else if(type == 0 && item == 3){
                            sp_name = "cc_left3";
                        }else if(type == 0 && item == 4){
                            sp_name = "cc_left4";
                        }else if(type == 0 && item == 5){
                            sp_name = "cc_left5";
                        }else if(type == 0 && item == 6){
                            sp_name = "cc_left6";
                        }else if(type == 1 && item == 0) {
                            sp_name = "ccL_left";
                        } else if(type == 1 && item == 1){
                            sp_name = "ccL_left1";
                        } else if(type == 1 && item == 2){
                            sp_name = "ccL_left2";
                        }else if(type == 1 && item == 3){
                            sp_name = "ccL_left3";
                        }else if(type == 1 && item == 4){
                            sp_name = "ccL_left4";
                        }else if(type == 1 && item == 5){
                            sp_name = "ccL_left5";
                        }else if(type == 1 && item == 6){
                            sp_name = "ccL_left6";
                        }
                        break;
                    case 1:
                        if(type == 0 && item == 0) {
                            sp_name = "cc_right";
                        } else if(type == 0 && item == 1){
                            sp_name = "cc_right1";
                        } else if(type == 0 && item == 2){
                            sp_name = "cc_right2";
                        }else if(type == 0 && item == 3){
                            sp_name = "cc_right3";
                        }else if(type == 0 && item == 4){
                            sp_name = "cc_right4";
                        }else if(type == 0 && item == 5){
                            sp_name = "cc_right5";
                        }else if(type == 0 && item == 6){
                            sp_name = "cc_right6";
                        }else if(type == 1 && item == 0) {
                            sp_name = "ccL_right";
                        } else if(type == 1 && item == 1){
                            sp_name = "ccL_right1";
                        } else if(type == 1 && item == 2){
                            sp_name = "ccL_right2";
                        }else if(type == 1 && item == 3){
                            sp_name = "ccL_right3";
                        }else if(type == 1 && item == 4){
                            sp_name = "ccL_right4";
                        }else if(type == 1 && item == 5){
                            sp_name = "ccL_right5";
                        }else if(type == 1 && item == 6){
                            sp_name = "ccL_right6";
                        }
                        break;
                        default:
                            Toast.makeText(getContext(),"ERR 208",Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.cck_spinner:

                switch (pos) {
                    case 0:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right";
                        } else {
                            Toast.makeText(getContext(), "You can't change LABEL of this key", Toast.LENGTH_SHORT).show();
                        }
                        break;
                    case 1:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left1";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right1";
                        } else if (type == 1 && position == 0) {
                            sp_name = "ccL_left1";
                        } else if (type == 1 && position == 1) {
                            sp_name = "ccL_right1";
                        }
                        break;
                    case 2:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left2";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right2";
                        } else if (type == 1 && position == 0) {
                            sp_name = "ccL_left2";
                        } else if (type == 1 && position == 1) {
                            sp_name = "ccL_right2";
                        }
                        break;
                    case 3:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left3";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right3";
                        } else if (type == 1 && position == 0) {
                            sp_name = "ccL_left3";
                        } else if (type == 1 && position == 1) {
                            sp_name = "ccL_right3";
                        }
                        break;
                    case 4:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left4";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right4";
                        } else if (type == 1 && position == 0) {
                            sp_name = "ccL_left4";
                        } else if (type == 1 && position == 1) {
                            sp_name = "ccL_right4";
                        }
                        break;
                    case 5:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left5";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right5";
                        } else if (type == 1 && position == 0) {
                            sp_name = "ccL_left5";
                        } else if (type == 1 && position == 1) {
                            sp_name = "ccL_right5";
                        }
                        break;
                    case 6:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left6";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right6";
                        } else if (type == 1 && position == 0) {
                            sp_name = "ccL_left6";
                        } else if (type == 1 && position == 1) {
                            sp_name = "ccL_right6";
                        }
                        break;


                    default:
                        if (type == 0 && position == 0) {
                            sp_name = "cc_left";
                        } else if (type == 0 && position == 1) {
                            sp_name = "cc_right";
                        } else {
                            Toast.makeText(getContext(), "You can't change LABEL of this key", Toast.LENGTH_SHORT).show();
                        }
                }
                break;
        }
        pfKey4.setHint(sp.getString(sp_name, "not_found"));

    }     
public void已选中(AdapterView AdapterView、视图视图、内部位置、长id){
type=spinner\u type.getSelectedItemPosition();
位置=微调器位置getSelectedItemPosition();
item=spinner.getSelectedItemPosition();
开关(adapterView.getId()){
案例R.id.cck\U微调器类型:
开关(pos){
案例0:
如果(位置==0&&item==0){
sp_name=“cc_left”;
}else if(位置==0&&item==1){
sp_name=“cc_left1”;
}else if(位置==0&&item==2){
sp_name=“cc_left2”;
}else if(位置==0&&item==3){
sp_name=“cc_left3”;
}else if(位置==0&&item==4){
sp_name=“cc_left4”;
}else if(位置==0&&item==5){
sp_name=“cc_left5”;
}else if(位置==0&&item==6){
sp_name=“cc_left6”;
}else if(位置==1&&item==0){
sp_name=“cc_right”;
}else if(位置==1&&item==1){
sp_name=“cc_right1”;
}else if(位置==1&&item==2){
sp_name=“cc_right2”;
}else if(位置==1&&item==3){
sp_name=“cc_right3”;
}else if(位置==1&&item==4){
sp_name=“cc_right4”;
}else if(位置==1&&item==5){
sp_name=“cc_right5”;
}else if(位置==1&&item==6){
sp_name=“cc_right6”;
}
打破
案例1:
如果(位置==0&&item==0){
sp_name=“ccL_左”;
}else if(位置==0&&item==1){
sp_name=“ccL_left1”;
}else if(位置==0&&item==2){
sp_name=“ccL_left2”;
}else if(位置==0&&item==3){
sp_name=“ccL_left3”;
}else if(位置==0&&item==4){
sp_name=“ccL_left4”;
}else if(位置==0&&item==5){
sp_name=“ccL_left5”;
}else if(位置==0&&item==6){
sp_name=“ccL_left6”;
}else if(位置==1&&item==0){
sp_name=“ccL_right”;
}else if(位置==1&&item==1){
sp_name=“ccL_right1”;
}else if(位置==1&&item==2){
sp_name=“ccL_right2”;
}else if(位置==1&&item==3){
sp_name=“ccL_right3”;
}else if(位置==1&&item==4){
sp_name=“ccL_right4”;
}else if(位置==1&&item==5){
sp_name=“ccL_right5”;
}else if(位置==1&&item==6){
sp_name=“ccL_right6”;
}
打破
}
打破
案例R.id.cck\U旋转器\U位置:
开关(pos){
案例0:
if(type==0&&item==0){
sp_name=“cc_left”;
}else if(type==0&&item==1){
sp_name=“cc_left1”;
}else if(type==0&&item==2){
sp_name=“cc_left2”;
}else if(type==0&&item==3){
sp_name=“cc_left3”;
}else if(type==0&&item==4){
sp_name=“cc_left4”;
}else if(type==0&&item==5){
sp_name=“cc_left5”;
}else if(type==0&&item==6){
sp_name=“cc_left6”;
}else if(type==1&&item==0){
sp_name=“ccL_左”;
}else if(type==1&&item==1){
sp_name=“ccL_left1”;
}else if(type==1&&item==2){
sp_name=“ccL_left2”;
}else if(type==1&&item==3){
sp_name=“ccL_left3”;
}else if(type==1&&item==4){
sp_name=“ccL_left4”;
}else if(type==1&&item==5){
sp_name=“ccL_left5”;
}else if(type==1&&item==6){
sp_name=“ccL_left6”;
}
打破
案例1:
if(type==0&&item==0){
sp_name=“cc_right”;
}else if(类型==
String sp_name="";
// type
if(type==0)
  sp_name="cc_";
else
  sp_name="ccL_";
//position
if(pos==0)
  sp_name+="left";
else
  sp_name+="right";
//item
if(item>0)
  sp_name+=(item+"");
return sp_name;
return (type == 0 ? "cc_" : "ccL_") +
       (pos == 0 ? "left" : "right") +
       (item > 0 ? "" + item : "");