在下面的代码中,我有一个方法来获得Vector具有相同星座的人.persoane是一个Vector<Persoana>.我一直NullPointerException在if条件(persoane绝对不是null).我无法理解为什么.任何帮助将不胜感激
public Vector<Persoana> cautaDupaZodie(String zodie)
{
Vector<Persoana> rezultat= new Vector<Persoana>();
for(int i=0; i<persoane.size(); i++)
{
if(persoane.get(i).getData().getZodie().equals(zodie)) //the exception occurs here
{
rezultat.add(persoane.get(i));
}
}
return rezultat;
}
Run Code Online (Sandbox Code Playgroud) 作为更大程序的一部分,我有一种计算多项式导数系数的方法.但那不是问题:).在下面的代码中,如果我跳过realloc()调用,我会得到我期望的结果(*coef).使用realloc将其中一个元素设置为0.这是我的错,还是realloc()行为实际上是意外的?
void derive (double **coef, int size)
{
int i;
if (size<2)
free_vector (*coef);
else
{
for (i=0; i<size-1; ++i)
{
(*coef)[i] = (*coef)[i+1]*(i+1);
}
(*coef) = realloc ((*coef), size-1);
}
}Run Code Online (Sandbox Code Playgroud)
如果运行它,我还会附上测试程序的完整源代码...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double *new_vector (int size)
{
double *vec = calloc (size, sizeof (double));
return vec;
}
void free_vector (double *vec)
{
if (vec)
{
free (vec);
vec = NULL;
}
}
void write_vector (FILE *f, double *vec, int size)
{
int i; …Run Code Online (Sandbox Code Playgroud)