小弟想问下:
1.不使用正则怎么从一串字符串中判断是否包含0-9的数字。
2.下面这段代码为啥全部是true?
3.int类型和char类型能直接比较么?
4.还有就是如何判断一段字符串当中是否包含空串("") 如果有我该怎么验证呢?
String s="123";
char[] arr=s.toCharArray();
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
System.out.println(arr[x]>2);
}
1.不使用正则怎么从一串字符串中判断是否包含0-9的数字。
2.下面这段代码为啥全部是true?
3.int类型和char类型能直接比较么?
4.还有就是如何判断一段字符串当中是否包含空串("") 如果有我该怎么验证呢?
String s="123";
char[] arr=s.toCharArray();
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
System.out.println(arr[x]>2);
}
System.out.println(arr[x]>2);这里arr是指字符串中的每个字符,对于英文或数字而言,就是ASCII码。
'0' 字符的ASCII是48,'9'字符的ASCII是57,都远远比2更大。你要用:
if (arr[x]>='0' && arr[x]<='9') System.out.println("这是数字" + arr[x]);
public class Test40 { public static void main(String[] args) {
String str = " sdfgadsgad9";
System.out.println(hasNumber(str));
System.out.println(hasBlank(str));
}
//判断是否有数字
public static boolean hasNumber(String str){
for(int i=0; i<str.length(); i++){
char ch = str.charAt(i);
if(ch>=48 && ch<=57){
return true;
}
}
return false;
}
//判断是否有空格
public static boolean hasBlank(String str){
for(int i=0; i<str.length(); i++){
char ch = str.charAt(i);
if(ch== ' '){
return true;
}
}
return false;
}
}int类型和char类型能直接比较,就是把char类型的转化为ascii码值3后与int类型的值进行比较!
---->arr[x]>2
左边是字符,右边是数字,最小的字母ascii值有
3.int类型和char类型能直接比较么?
--->可以
4.还有就是如何判断一段字符串当中是否包含空串("") 如果有我该怎么验证呢?
---->空串还是空格啊?if("".equals(str)){System.out.println("是空串")}如果是空串,只能说是不是空串,没有包含一说
String str = null;//str = null
str = new String();//此时str = "";空串
str = " ";//此时str = " ";空格
区别很简单,刚新建对象,或者赋值空串,啥内容也没有。空格的意思里面好歹也包含一个空格,空格是个字符。
如果想比较数字的大小,则必须将这个数字加上单引号去比较。
--->恩,还有不要叫我大神。闻道有先后,术业有专攻3Q