我有这个方法,每当我尝试在我的foo
数组中放置值时,我得到NullPointerException。我试图解决它,但我不知道为什么它告诉我NullPointerException。
感谢您的帮助:)
mine = " 0 2 3 ";
try {
for(int i = 0; i < mine.length(); i++) {
String k = "" + mine.charAt(i);
if(k.equals(" ") == false)
j++;
}
} catch(Exception r) {
Toast.makeText(this, "Bad", Toast.LENGTH_SHORT).show();
}
try {
int[] foo = new int[j];
for(int i = 0; i < mine.length(); i++) {
String k = "" + mine.charAt(i);
if(k.equals(" ") == false) {
String a = "" + mine.charAt(i);
myNum = Integer.parseInt(a);
foo[i-1] = myNum;
}
}
} catch(Exception df) {
Toast.makeText(this, "Bad", Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:0)
mine
?如果为null,则会出现空指针异常。j
没有意义。List valueList = new LinkedList();
try
{
for (int index = 0, index < mine.length(); ++ index)
{
final char current = mine.charAt(index);
if (current != ' ')
{
valueList.add(Integer.valueOf(current));
}
}
}
catch (NullPointerException exception)
{
... do something.
}
catch (NumberFormatExxception exception)
{
... do something.
}
int valueCount = 0;
try
{
for (int index = 0, index < mine.length(); ++ index)
{
if (mine.getAt(index) != ' ')
{
++valueCount;
}
}
}
catch (NullPointerException exception)
{
... do something.
}
if (valueCount > 0)
{
try
{
int[] foo = new int[valueCount];
int valueIndex = 0;
for (int index = 0, index < mine.length(); ++ index)
{
final char current = mine.charAt(index);
if (current != ' ')
{
foo[valueIndex++] = Integer.valueOf(current));
}
}
}
catch (NullPointerException exception)
{
... do something.
}
catch (NumberFormatExxception exception)
{
... do something.
}
}