运行此代码时,它会输出nullhi
。为什么要这样做?
public static void main(String[] args) {
String[] a = new String[1];
String m = null;
String c = "hi";
for (int i = 0 ; i < c.length() ; i++){
a[0] = a[0] + c.charAt(i);
}
System.out.print(a[0]);
}
答案 0 :(得分:4)
在循环之前,写下:
a[0] = "";
即
public static void main(String[] args) {
String[] a= new String[1];
String m = null;
String c = "hi";
a[0] = "";
for (int i=0 ; i<c.length() ; i++){
a[0]=a[0]+c.charAt(i);
}
System.out.print(a[0]);
}
答案 1 :(得分:0)
这样做
for (int i=0 ; i<c.length() ; i++){
a[i] = "";
a[i]= c.charAt(i);
}
你正在做的是
for (int i=0 ; i<c.length() ; i++){
a[0]=a[0]+c.charAt(i); // a[0] is null,
}
答案 2 :(得分:-1)
测试string是否为空
a[0] = ((a[0] == null) ? "" : a[0] ) + c.charAt(i);
答案 3 :(得分:-1)
您需要替换&#34; null&#34;,因此您的代码的最后一行应为
System.out.println(a[0].replace("null", "");