初始化一个 char数组
char[] test=new char[10]; test[0]=1;
test[1]=2;
System.out.println(test.length); 输出是初始化时定义的长度10;
怎么能知道实际初始化的的元素是2个?
char[] test=new char[10]; test[0]=1;
test[1]=2;
System.out.println(test.length); 输出是初始化时定义的长度10;
怎么能知道实际初始化的的元素是2个?
所以即使你只初始化了2个,系统也会初始化剩下的
要想准确定位数组长度 那就用个list.add(),然后在根据list.size()去初始化你的数组
(虽然这个方法有点2,- -!)
如果是一个可以用数值表示的字符,返回大于0的数字,否则小于0.
我觉得可以用.个人觉得.
import java.util.List;/**
* @author xiaotang E-mail: [email protected]
* @version1.00 创建时间:Mar 31, 2009 8:44:12 PM 类说明:
*/public class CharTest {
public static void main(String args[]) {
char a[] = new char[10];
a[0] = 1;
a[1] = 2;
List list = new ArrayList();
for (int i = 0; i < a.length; i++) {
if (a[i] != 0) { list.add(Character.valueOf(a[i]));
}
}
System.out.println(list.size());
}}
如果初始化的值是0怎么办,没法用if (a[i] != 0) 来做判断
import java.util.List;/**
* @author xiaotang E-mail: [email protected]
* @version1.00 创建时间:Mar 31, 2009 8:44:12 PM 类说明:
*/public class CharTest {
public static void main(String args[]) {
char a[] = new char[10];
a[0] = 1;
a[1] = 2;
int j = 0;
List list = new ArrayList();
for (int i = 0; i < a.length; i++) {
if (a[i] != 0) {
j++;
}
}
System.out.println(j);
}}
这种情况下返回是2,但如果是 a[0] = 1; a[1] = 2;a[2]=0; 返回也是2,但实际上是对3个元素赋予了初始值
但楼主非要判断char[]数组里面的元素个数,应该自己给char[]赋予一个初始值,确保这个初始值是你不会放到数组中的,如C里面的'\0'。然后再使用for循环去判断了。其他更好的办法我是没有想到的。
java中对于char数组中的元素默认的初始值就是0,怎么改变?
strlen() 标准c库函数 不久行了