Java - 运算符不等于不在字符串的 if 条件下工作
Java - Operator does not equal not working in a if condition for strings
我在 switch case 检查中有以下 Java (Android) 代码。我已将默认条件设置为以下代码:
switch (value_gain_array[0]) {
case 5:
column[1][0] = "4";
column[1][1] = "3";
column[1][2] = "1";
break;
case 10:
column[1][0] = "4";
column[1][1] = "5";
column[1][2] = "1";
break;
case 50:
column[1][0] = "1";
column[1][1] = "1";
column[1][2] = "4";
break;
case 100:
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
break;
case 500:
column[1][0] = "3";
column[1][1] = "2";
column[1][2] = "2";
break;
case 1000:
column[1][0] = "4";
column[1][1] = "4";
column[1][2] = "1";
break;
case 100000:
column[1][0] = "5";
column[1][1] = "5";
column[1][2] = "3";
break;
case 222:
column[1][0] = "4";
column[1][1] = "1";
column[1][2] = "1";
break;
case 999:
column[1][0] = "4";
column[1][1] = "2";
column[1][2] = "1";
break;
default:
boolean control = false;
while (control == false) {
//column[1][0] = Integer.toString(Generate_Random_15());
//column[1][1] = Integer.toString(Generate_Random_15());
//column[1][2] = Integer.toString(Generate_Random_15());
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
String control_column = column[1][0] + column[1][1] + column[1][2];
if (!"431".equals(control_column) || !"451".equals(control_column) || !"114".equals(control_column) || !"235".equals(control_column) || !"322".equals(control_column) || !"441".equals(control_column) ||
!"553".equals(control_column) || !"411".equals(control_column) || !"421".equals(control_column)) { control = true;}
}
Toast.makeText(context, "control_column_0[]+ " + column[1][0]+column[1][1]+column[1][2], Toast.LENGTH_LONG).show();
break;
}
不幸的是,默认开关的 if 条件不起作用,即使我强制值控制为 false,如以下情况“235”,它也从未发生过。以下 if 条件应该创建一个无限循环(当然,真正的目的是使用随机生成器检查代替)我做错了什么?
谢谢,
皮埃尔
boolean control = false;
while (control == false) {
//column[1][0] = Integer.toString(Generate_Random_15());
//column[1][1] = Integer.toString(Generate_Random_15());
//column[1][2] = Integer.toString(Generate_Random_15());
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
String control_column = column[1][0] + column[1][1] + column[1][2];
if (!"431".equals(control_column) || !"451".equals(control_column) || !"114".equals(control_column) || !"235".equals(control_column) || !"322".equals(control_column) || !"441".equals(control_column) ||
!"553".equals(control_column) || !"411".equals(control_column) || !"421".equals(control_column)) control = true;
}
Toast.makeText(context, "control_column_0[]+ " + column[1][0]+column[1][1]+column[1][2], Toast.LENGTH_LONG).show();
break;
}
如果要将 control
设置为值 true
,如果控制编号不是 if 条件中提到的任何值,则必须使用逻辑 AND 连接这些值:
if (!"431".equals(control_column) && !"451".equals(control_column) && !"114".equals(control_column) && !"235".equals(control_column) && !"322".equals(control_column) && !"441".equals(control_column) &&
!"553".equals(control_column) && !"411".equals(control_column) && !"421".equals(control_column)) control = true;
我在 switch case 检查中有以下 Java (Android) 代码。我已将默认条件设置为以下代码:
switch (value_gain_array[0]) {
case 5:
column[1][0] = "4";
column[1][1] = "3";
column[1][2] = "1";
break;
case 10:
column[1][0] = "4";
column[1][1] = "5";
column[1][2] = "1";
break;
case 50:
column[1][0] = "1";
column[1][1] = "1";
column[1][2] = "4";
break;
case 100:
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
break;
case 500:
column[1][0] = "3";
column[1][1] = "2";
column[1][2] = "2";
break;
case 1000:
column[1][0] = "4";
column[1][1] = "4";
column[1][2] = "1";
break;
case 100000:
column[1][0] = "5";
column[1][1] = "5";
column[1][2] = "3";
break;
case 222:
column[1][0] = "4";
column[1][1] = "1";
column[1][2] = "1";
break;
case 999:
column[1][0] = "4";
column[1][1] = "2";
column[1][2] = "1";
break;
default:
boolean control = false;
while (control == false) {
//column[1][0] = Integer.toString(Generate_Random_15());
//column[1][1] = Integer.toString(Generate_Random_15());
//column[1][2] = Integer.toString(Generate_Random_15());
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
String control_column = column[1][0] + column[1][1] + column[1][2];
if (!"431".equals(control_column) || !"451".equals(control_column) || !"114".equals(control_column) || !"235".equals(control_column) || !"322".equals(control_column) || !"441".equals(control_column) ||
!"553".equals(control_column) || !"411".equals(control_column) || !"421".equals(control_column)) { control = true;}
}
Toast.makeText(context, "control_column_0[]+ " + column[1][0]+column[1][1]+column[1][2], Toast.LENGTH_LONG).show();
break;
}
不幸的是,默认开关的 if 条件不起作用,即使我强制值控制为 false,如以下情况“235”,它也从未发生过。以下 if 条件应该创建一个无限循环(当然,真正的目的是使用随机生成器检查代替)我做错了什么?
谢谢,
皮埃尔
boolean control = false;
while (control == false) {
//column[1][0] = Integer.toString(Generate_Random_15());
//column[1][1] = Integer.toString(Generate_Random_15());
//column[1][2] = Integer.toString(Generate_Random_15());
column[1][0] = "2";
column[1][1] = "3";
column[1][2] = "5";
String control_column = column[1][0] + column[1][1] + column[1][2];
if (!"431".equals(control_column) || !"451".equals(control_column) || !"114".equals(control_column) || !"235".equals(control_column) || !"322".equals(control_column) || !"441".equals(control_column) ||
!"553".equals(control_column) || !"411".equals(control_column) || !"421".equals(control_column)) control = true;
}
Toast.makeText(context, "control_column_0[]+ " + column[1][0]+column[1][1]+column[1][2], Toast.LENGTH_LONG).show();
break;
}
如果要将 control
设置为值 true
,如果控制编号不是 if 条件中提到的任何值,则必须使用逻辑 AND 连接这些值:
if (!"431".equals(control_column) && !"451".equals(control_column) && !"114".equals(control_column) && !"235".equals(control_column) && !"322".equals(control_column) && !"441".equals(control_column) &&
!"553".equals(control_column) && !"411".equals(control_column) && !"421".equals(control_column)) control = true;