如何从条件语句中检索 EditText 值

How to Retrieve the EditText Values from conditional statements

我无法检索代码中的数据。如果用户在 if else 语句中提到的范围内输入数字,它应该 return 返回整数值。

示例:如果我在 et1 中输入 46,那么在按下按钮 bt1 时我应该在 n1 中得到 6。

parseInt()只检索输入的值,请帮忙,谢谢。

public class mt11 extends AppCompatActivity {

    private EditText et1, et2;
    private Button bt1;

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mt11);

        et1 = findViewById(R.id.mt1011);
       // et2 = (EditText) findViewById(R.id.mt1012);

        bt1 = (Button) findViewById(R.id.mt1sgpa1);

        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                int num = 0;
                int S = 10, A = 9, B = 8, C = 7, D = 6, E = 4, F =0;

                if (num >= 0 && num <= 41) {
                    num = F ;
                }
                else if (num >= 42 && num <= 44) {
                    num = E;
                }
                else if (num >= 45 && num <= 59) {
                    num = D;
                }
                else if (num >= 60 && num <= 69) {
                    num = C;
                }
                else if (num >= 70 && num <= 79) {
                    num = B;
                }
                else if (num >= 80 && num <= 89) {
                    num = A;
                }
                else {
                    num = S;
                }



                int n1 = Integer.valueOf(et1.getText().charAt(num));
               // int n2 = Integer.parseInt(et2.getText().toString());

                AlertDialog alertDialog = new AlertDialog.Builder(mt11.this).create();
                alertDialog.setTitle("New Semester");
                alertDialog.setMessage("Your Grade is : " + String.valueOf(n1));
                        //Showing Alert Message
                        alertDialog.show();
            }
        });
    }
}

将您的代码更改为:

int num = 0;
try {
    num = Integer.parseInt(et1.getText().toString());
} catch (NumberFormatException nfe) {
    //Not in correct format
}

int grade = 0;
int S = 10, A = 9, B = 8, C = 7, D = 6, E = 4, F =0;

if (num >= 0 && num <= 41) {
    grade = F ;
}
else if (num >= 42 && num <= 44) {
    grade = E;
}
else if (num >= 45 && num <= 59) {
    grade = D;
}
else if (num >= 60 && num <= 69) {
    grade = C;
}
else if (num >= 70 && num <= 79) {
    grade = B;
}
else if (num >= 80 && num <= 89) {
    grade = A;
}
else {
    grade = S;
}

然后

alertDialog.setMessage("Your Grade is : " + String.valueOf(grade));

我想你会得到你想要的。

您可以创建一个方法并在任何您想要的地方调用,如下所示。

public class mt11 扩展 AppCompatActivity {

private EditText et1, et2;
private Button bt1;

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mt11);

    et1 = findViewById(R.id.mt1011);
   // et2 = (EditText) findViewById(R.id.mt1012);

    bt1 = (Button) findViewById(R.id.mt1sgpa1);

    bt1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        showGrade(calculateGrage(et1.getText().toString()));
        }
    });
}

private String calculateGrage(String range) {
    int S = 10, A = 9, B = 8, C = 7, D = 6, E = 4, F =0;
    int num = 0, result = 0;
    try {
        num = Integer.parseInt(range);
    } catch (NumberFormatException nfe) {
        //Not in correct format
    }
   if(num == 0 || num < 0) {
     result = F;
   } else {
       if (num <= 41) {
           result = F;
       } else if (num <= 44) {
           result = E;
       } else if (num <= 59) {
           result = D;
       } else if (num <= 69) {
           result = C;
       } else if (num <= 79) {
           result = B;
       } else if (num <= 89) {
           result = A;
       } else {
           result = S;
       }
   }
    return String.valueOf(result);
}

private void showGrade(String grade) {
    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle("New Semester");
    alertDialog.setMessage("Your Grade is : " + grade);
    //Showing Alert Message
    alertDialog.show();
}

}