空指针访问:此变量dt_str只能为空



我是java编码的新手,我的代码出错。我试图通过将 m 和 d 数组与 s 连接起来作为年份来获取传递给函数ABC的年份日期。我想将其用于问题的下一部分,但我被困住了

空指针访问:此变量dt_str只能null">

我在这里做错了什么?

public class ABC {

public void ABC(String s)
{
String[] dt_str;
String  m[] = new String[] {"01","02","03""};
String d[]= new String[] {"01", "02", "03", "04", "05", "06", "07", "08", "09","10", "11","12","13","14","15"};
for(int i=0;i<m.length;i++) {
for (int j=0;j<d.length;j++) {
dt_str[j]=m[i]+d[j]+s;
}
}
System.out.println(dateString);
}
}

实际上不知道你到底想用你的代码实现什么,因为有几个变量是不确定的(例如dateStrings(。数组m[]以错误的方式定义(数据部分中的双"(也是如此 - 但是,我使用给定的信息"修复"了您的代码:

String[] m = {"01", "02", "03"};
String[] d = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15"};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < d.length; j++) {
sb.append(m[i] + d[j] + " ");
}
}
System.out.println(sb.toString());

这确实输出0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0301 0302 0303 0304 0305 0306 0307 0308 0309 0310 0311 0312 0313 0314 0315

你从不给dt_str分配任何东西;你试图赋值给它的元素,但实际的数组永远不会被创建。

尝试更改:

String[] dt_str;

String[] dt_str = new String[d.length]

并将其移动到 for 循环之前。

但是,我不确定您要使用此方法实现什么目的。

最新更新