isLetter方法在Java中不起作用

时间:2018-06-23 17:56:09

标签: java

每次我写<?php $mob = $_POST['mob']; $smss = $_POST['sms']; $serverName="DESKTOP-471VOGK\SQLEXPRESS"; $connectionInfo=array("Database"=>"SMS.MDF"); $conn= sqlsrv_connect($serverName,$connectionInfo); //connect to sql // Input into staff database $sql = "INSERT INTO data (mob,sms) VALUES (?,?)"; $params = array($mob,$smss); $stmt = sqlsrv_query( $conn, $sql, $params); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } else { echo "Sucess"; } ?> 它突出显示Character.isLetter(4)) ...

请帮助。我正在尝试制作一个程序,您必须告知年龄才能继续,但是如果输入字母,则会弹出错误。

这是我的完整代码,不起作用。

isLetter

1 个答案:

答案 0 :(得分:1)

您可能打算写Character.isLetter('4')'4'char,而4int

Character.isLetter需要一个char或一个int codePoint。

您还应该考虑使用正则表达式并执行s.matches("\\d+")(其中s是输入字符串)以查看您的字符串是否仅由数字组成。 matches函数接受一个正则表达式。

在示例中,我刚刚向您显示了\d的意思是“数字”,而+的意思是“一个或多个”。

但是,如果您想使用Character.isLetter,可以这样做:

for(char c : s.toCharArray()) {
    if (Character.isLetter(c)) {
        return false;
    }
}