101 MM Response Model 2015-07-28 27
101 MM Response Model 2015-07-28 3f
101 MM Response Model 2015-07-28 f6
101 MM Response Model 2015-07-28 e8
101 MM Response Model 2015-07-28 92
我尝试向字符串数组添加一个值,但它引发了一个空指针异常,为什么?
编辑1:
a=10.00;
b=11.00;
mor_names=new String[]{};
for(double cal=Double.parseDouble(a);cal<=Double.parseDouble(b);) {
mor_names[val]=(Double.toString(cal));
System.out.println("values are:" + mor_names[val]);
val++;
cal=cal+0.15;
}
我试图在特定的时间间隔中得到一个日期,所以我试图沉入java日历并操纵我的代码,但可能我不能正确。
答案 0 :(得分:1)
让我们检查您的代码:
a=10.00;
b=11.00;
由此我们可以假设a
和b
是[{1}}的类型,因此您无法使用Double
来获取double cal = Double.parseDouble(a)
值。如果double
和a
属于b
类型,则这是正确的:
String
下一行:
String a="10.00";
String b="11.00";
将初始化空字符串数组。 mor_names=new String[]{};
括号与数组一起使用,以使用值初始化数组:
{}
和以下一样:
String[] mor_names = {"Hello", "World", "!"};
您希望为数组指定值,因此您可以像这样初始化数组:
String[] mor_names = new String[]{"Hello", "World", "!"};
因此,您可以在String[] mor_names = new String[7]{};
中存储比7更多的值,索引从0到6。
如果您想要更灵活的方法,请使用mor_names
:
ArrayList
这将创建一个&#34;动态数组&#34;您可以ArrayList<String> mor_names = new ArrayList<String>();
,add
和remove
get
个对象。
循环:
String
假设for(double cal = Double.parseDouble(a) ; cal<=Double.parseDouble(b) ; )
和a
的类型为b
,我们就像之前提到的那样修复一件事。
double
首先,for(double cal = a ; cal <= b ; )
变量初始化为cal
的值。 For是一个循环,它将在a
个括号之间重复代码,直到{}
为真。你在这个循环中递增cal <= b
值,但这是不必要的 - 你可以这样做:
cal
这意味着每次循环中的代码执行到最后时,for(double cal = a ; cal <= b ; cal+=0.15)
将增加cal
。然后,如果0.15
小于或等于cal
,则代码将重复。否则循环将结束。
b
值分配给未初始化的数组, NullPointerException
会上升。但这不是这里发生的事情,因为String
不是mor_names
。
您应该阅读有关初始化变量以及在java中使用数组和容器的内容。祝你好运。
编辑1:
您提供的数据不完整。您应该提供使您的问题可靠的所有内容,特别是对您要归档的内容的严格和具体描述。
了解How to parse JSON in Java和Java - Date & Time。使用谷歌阅读并理解。
关于使用堆栈溢出,您应该开始here。
再一次,祝你好运。
答案 1 :(得分:0)
String a="10.00";
String b="11.00";
int val=0;
String [] mor_names=new String[10];
for(double cal=Double.parseDouble(a); cal<=Double.parseDouble(b);){
mor_names[val]=(Double.toString(cal));
System.out.println("values are:" + mor_names[val]);
val++;
cal=cal+0.15;
}
你可以使用这个代码。如果你想要动态字符串数组,你应该使用list或map。