关于一个java方法的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/02 12:59:26
static boolean isIDCardNumber(String str)
{
String idnum = "0123456789xX";
boolean b = true;
for(int i=0;i<str.length();i++)
{
if(str.substring(i,i+1).indexOf(strtmp) == -1)
{
b = false;
}
}
return b;
}
这是一个判断一个字符串是否合法的一个方法。
从标准输入输入一个字符串,如果这个字符串中的字符在idnum字符串中有存在,则返回true,否则返回false。
但是这个程序无论输入什么字符,b的值都是false。
请高手帮我解答一下这个问题,并向我推荐一个更好的解决方案。

public class Qnick {

public static void main(String[] args) {
System.out.println(isIDCardNumber("xx"));
}

public static boolean isIDCardNumber(String str) {
String idnum = "0123456789xX";
boolean b = true;
char[] temp = str.toCharArray();
for (int i = 0; i < temp.length; i++) {
if (idnum.indexOf(temp[i]+"")==-1) {
b=false;
}
}
return b;
}

}
这个方法你看看

class Test{

public static void main(String args[]) {
System.out.println(isIDCardNumber("ertgerheuyu"));

}

static boolean isIDCardNumber(String str)
{
String idnum = "0123456789xX";
boolean b = true;
for(int i=0;i<str.length();i++)
{
if(idnum.indexOf(str.substring(i,i+1)) != -1) //检查也应该是用
idnum去找输入数据的每一个字符
{
b = false;brea