Java \ android 中的逻辑
Logic in Java \ android
大家好,这就是我的检查方法,但我无法处理逻辑。
Name 工作正常,但 Age \ Weight \ Height 工作方式错误(当我期待 true 时它变为 false)。
我已经用 more () 尝试了几次,但仍然无法修复它。请帮助我了解该逻辑,或者如果您有更好的想法来检查并显示有关文本视图中错误值的消息。 Atm 我正在尝试使用警报生成器。
当我输入:_Age 24 时,if 语句加 10(我想在低于 9 且大于 70 或为空时加 10)
其余变量也是如此,我找不到我的逻辑错误。
private String checkValue(){
String x = "";
int a = 0; // TRUE == 1 false == 0 NAME > AGE > HEIGHT > WEIGHT
String name = textName.getText().toString();
String _Age = textAge.getText().toString();
String _Weight = textWeight.getText().toString();
String _Height = textHeight.getText().toString();
if ( TextUtils.isEmpty(name)) a+=1;
if ( TextUtils.isEmpty(_Age) || ((Integer.parseInt(_Age) > 9) && (Integer.parseInt(_Age) < 70 ))) a+=10;
if ( TextUtils.isEmpty(_Height) || ((Integer.parseInt(_Height) > 100) &&( Integer.parseInt(_Height) < 250))) a+=100;
if ( TextUtils.isEmpty(_Weight) || (( Double.parseDouble(_Weight) > 30 ) && (Double.parseDouble(_Weight) < 300))) a+=1000;
if (a==0) x="All right boss here's the answer for your awsome body";
while (a>=1) {
x += "Please fill the data: otherwise - I cannot help you out mate";
if (a >= 1000){
x += ("\n- Weight a= "+a+" parse int _Weight: " + Integer.parseInt(_Weight));
a-=1000;
}
if (a >= 100){
x += ("\n- Height a= "+a+" parse int _Height: " + Integer.parseInt(_Height));
a-=100;
}
if (a >= 10){
x += ("\n- Age a= "+a+" parse int _Age: " + Integer.parseInt(_Age));
a-=10;
}
if (a >= 1) {
x += "\n- Name";
a -=1;
}
}
简单逻辑:
String errorString = "";
boolean validate = true;
if(!ageString.isEmpty() && !heightString.isEmpty() && !weightString.isEmpty()) {
if(age < 9 || age > 70) {
errorMessage += "Invalid age!";
validate = false;
}
if(height < 100 || age > 250) {
errorMessage += "Invalid height!";
validate = false;
}
if(weight < 30 || weight > 300) {
errorMessage += "Invalid weight!";
validate = false;
}
}
else {
errorString = "No empty fields allowed!";
validate = false;
}
if(validate) {
//Do whatever you want
}
else return errorString;
大家好,这就是我的检查方法,但我无法处理逻辑。 Name 工作正常,但 Age \ Weight \ Height 工作方式错误(当我期待 true 时它变为 false)。
我已经用 more () 尝试了几次,但仍然无法修复它。请帮助我了解该逻辑,或者如果您有更好的想法来检查并显示有关文本视图中错误值的消息。 Atm 我正在尝试使用警报生成器。
当我输入:_Age 24 时,if 语句加 10(我想在低于 9 且大于 70 或为空时加 10) 其余变量也是如此,我找不到我的逻辑错误。
private String checkValue(){
String x = "";
int a = 0; // TRUE == 1 false == 0 NAME > AGE > HEIGHT > WEIGHT
String name = textName.getText().toString();
String _Age = textAge.getText().toString();
String _Weight = textWeight.getText().toString();
String _Height = textHeight.getText().toString();
if ( TextUtils.isEmpty(name)) a+=1;
if ( TextUtils.isEmpty(_Age) || ((Integer.parseInt(_Age) > 9) && (Integer.parseInt(_Age) < 70 ))) a+=10;
if ( TextUtils.isEmpty(_Height) || ((Integer.parseInt(_Height) > 100) &&( Integer.parseInt(_Height) < 250))) a+=100;
if ( TextUtils.isEmpty(_Weight) || (( Double.parseDouble(_Weight) > 30 ) && (Double.parseDouble(_Weight) < 300))) a+=1000;
if (a==0) x="All right boss here's the answer for your awsome body";
while (a>=1) {
x += "Please fill the data: otherwise - I cannot help you out mate";
if (a >= 1000){
x += ("\n- Weight a= "+a+" parse int _Weight: " + Integer.parseInt(_Weight));
a-=1000;
}
if (a >= 100){
x += ("\n- Height a= "+a+" parse int _Height: " + Integer.parseInt(_Height));
a-=100;
}
if (a >= 10){
x += ("\n- Age a= "+a+" parse int _Age: " + Integer.parseInt(_Age));
a-=10;
}
if (a >= 1) {
x += "\n- Name";
a -=1;
}
}
简单逻辑:
String errorString = "";
boolean validate = true;
if(!ageString.isEmpty() && !heightString.isEmpty() && !weightString.isEmpty()) {
if(age < 9 || age > 70) {
errorMessage += "Invalid age!";
validate = false;
}
if(height < 100 || age > 250) {
errorMessage += "Invalid height!";
validate = false;
}
if(weight < 30 || weight > 300) {
errorMessage += "Invalid weight!";
validate = false;
}
}
else {
errorString = "No empty fields allowed!";
validate = false;
}
if(validate) {
//Do whatever you want
}
else return errorString;