运营商'>'不能应用于' java.lang.string'

时间:2016-05-19 18:09:31

标签: java android

公共类MainActivity扩展了AppCompatActivity {

<?php

    include 'config.php';

    if (isset($_POST["login_submit"]))
    {

        $username = $_POST["username"];
        $password = $_POST["password"];

        $query = "SELECT username, hashed_password FROM users WHERE username = '$username';";

        $result = mysqli_query($conn, $query);
        $row = mysqli_fetch_assoc($result);
        $rows_num = mysqli_num_rows($result);

        if ($rows_num == 0) {
            echo "This user doesn't exist!";
        }
        else {
            $password_match = password_verify($password, $row['hashed_password']);
            if (!$password_match) {
                echo "The passwords do not match.";
            }
            else {
                header("Location: index.php");
                echo "Welcome ".$username."!";
            }
        }
    }

?>

错误在这一行:

if(introducir.getText()。toString()&gt; numTxt)

我不理解这个错误,因为我做了演员,所以有人可以帮助我吗?请。 感谢。

2 个答案:

答案 0 :(得分:1)

无法使用比较器运算符比较字符串,例如&#39;&gt;&#39;&#39;&gt; =&#39;

在这种情况下,您必须使用compareTo方法

比较字符串

它将返回-1,0,1,其中值0表示参数是字典顺序等于该字符串的字符串;如果参数是按字典顺序大于此字符串的字符串,则小于0的值;如果参数是一个按字典顺序小于该字符串的字符串,则值大于0。

答案 1 :(得分:0)

您无法将String与&#34;&gt;&#34;进行比较所以我给你的解决方案是:

由于您从EditText获取结果,结果将为String,因此您有两种选择:

1.-使用Integer.valueOf()

try{

  int val = Integer.valueOf(introducir.getText().toString())

}catch(NumberFormatException e){

 Toast.makeText(this, "El valor no es un entero",
 Toast.LENGTH_LONG).show();

}

2.-使用Integer.parseInt()

try{

  int val = Integer.parseInt(introducir.getText().toString())

}catch(NumberFormatException e){

 Toast.makeText(this, "El valor no es un entero",
 Toast.LENGTH_LONG).show();

}

然后您可以使用if(val>num){}

希望很清楚。