Java 我试图做一个if语句,它看起来Edittext(number)是否大于int值,但它不';行不通

Java 我试图做一个if语句,它看起来Edittext(number)是否大于int值,但它不';行不通,java,android,if-statement,Java,Android,If Statement,当我试图检查edittext(number)的输入是否小于int值时,它表示我无法将

当我试图检查edittext(number)的输入是否小于int值时,它表示我无法将<与edittext进行比较。我的值是一个int,输入的是数字,我的理解是,int是一个数字。那么,为什么我不能比较它们呢?(如果这很容易解决,我必须说我是Android开发的初学者)

代码:


您必须将解析后的值分配给一个int变量,然后像这样比较该变量:

int parsedInt = Integer.parseInt(inputNumberAge.getText().toString()));

...

if (parsedInt > numberAge) {

parseInt()返回一个值,但如果不将该值赋给正在解析的任何内容,则会浪费结果数据。希望这有帮助

您必须将解析后的值分配给int-var,然后像这样比较该var:

int parsedInt = Integer.parseInt(inputNumberAge.getText().toString()));

...

if (parsedInt > numberAge) {

parseInt()返回一个值,但如果不将该值赋给正在解析的任何内容,则会浪费结果数据。希望对您有所帮助

您需要将数字存储在整数变量中,并使用try-and-catch检查用户是否输入整数

        int val;
         try
            {
               val = Integer.parseInt(inputNumberAge.getText().toString()));            
            }catch (IOException e)
            {
               Toast.makeText(AirPortActivity.this, "Only integer value", Toast.LENGTH_SHORT).show();
                return;
            }

             String nameOfUser = nameTextView.getText().toString();
             int numberAge = 18;

             if (val> numberAge) {
                   Toast.makeText(AirPortActivity.this, "No Permission yet!", Toast.LENGTH_SHORT).show();
                    }

您需要将数字存储在整数变量中,并使用try-and-catch检查用户是否输入整数

        int val;
         try
            {
               val = Integer.parseInt(inputNumberAge.getText().toString()));            
            }catch (IOException e)
            {
               Toast.makeText(AirPortActivity.this, "Only integer value", Toast.LENGTH_SHORT).show();
                return;
            }

             String nameOfUser = nameTextView.getText().toString();
             int numberAge = 18;

             if (val> numberAge) {
                   Toast.makeText(AirPortActivity.this, "No Permission yet!", Toast.LENGTH_SHORT).show();
                    }

原因是您正在if语句中比较不兼容的类型
numberrage
是一个
int
,而
inputnumberrage
是一个
EditText
。您可以通过此行中的
inputNumberAge
创建一个
整数

    Integer.parseInt(inputNumberAge.getText().toString()));
但是,您没有将此值指定给变量,也没有在if语句中使用此值。尝试对上面的行和if语句进行这些更改

public void onClick(View v) {
    int inputAge = Integer.parseInt(inputNumberAge.getText().toString()));
    String nameOfUser = nameTextView.getText().toString();
    int numberAge = 18;

    if (inputAge > numberAge) {
这将获取
inputNumberAge
Integer
值,并将其分配给名为
inputAge
的变量。if语句然后将该int值与
numberrage
值进行比较


请告诉我这是否有帮助,或者您是否需要进一步的说明。

原因是您在if语句中比较不兼容的类型
numberrage
是一个
int
,而
inputnumberrage
是一个
EditText
。您可以通过此行中的
inputNumberAge
创建一个
整数

    Integer.parseInt(inputNumberAge.getText().toString()));
但是,您没有将此值指定给变量,也没有在if语句中使用此值。尝试对上面的行和if语句进行这些更改

public void onClick(View v) {
    int inputAge = Integer.parseInt(inputNumberAge.getText().toString()));
    String nameOfUser = nameTextView.getText().toString();
    int numberAge = 18;

    if (inputAge > numberAge) {
这将获取
inputNumberAge
Integer
值,并将其分配给名为
inputAge
的变量。if语句然后将该int值与
numberrage
值进行比较

请让我知道这是否有帮助,或者如果您需要任何进一步的澄清