class max{
public int buy;
public int sell;
public max(int n){
buy=0;
sell=0;
}
}
public class MaxProfit{
public void stock(int a[],int n){
max[] sol=new max[n/2+1];
if(n==1||n==0)
{
return;
}
int i=0,count=0;
while(i<n-1){
while((i<n-1)&&(a[i+1]<=a[i]))
i++;
if(i==n-1)
break;
//System.out.println(sol[count].buy=i++);
sol[count].buy=i++;
i++;
while((i<n)&&(a[i]>=a[i-1]))
i++;
sol[count].sell=i-1;
count++;
}
for(int k=0;k<count;k++)
System.out.println(sol[k].buy +sol[k].sell);
}
public static void main(String []args){
MaxProfit f=new MaxProfit();
int arr[]={20,100,260};
f.stock(arr,arr.length);
System.out.println("Hello World");
}
}
异常即将到来,这是线程“ main”中的异常,即MaxProfit.main(MaxProfit.java:15)处MaxProfit.stock(MaxProfit.java:15)处的异常java.lang.NullPointerException
我无法解决此问题,我已经初始化了数组最大仍然无法获取空指针异常的问题,请帮忙
您应该max[] sol
在循环中初始化也许的元素。
for(int i=0;i<sol.length;i++){
sol[i]=new max(aValue);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句