请帮助我使用我的代码,我是Java / SF的新手,我并不了解整个代码。
以下代码应返回年龄小于18岁,年龄介于18岁至30岁之间的人的三个值。
我想学习编码并对所有行进行评论,如果出现问题,请纠正我。
目前我收到错误:
System.NullPointerException:尝试取消引用空对象
Class.testfor1_c.getEZRen:第18行,第1列 Class.testfor1_c。:第4行,第1列
public class testfor1_c {
public testfor1_c(ApexPages.StandardController stdcontroller) {
getEZRen();
}
public Integer Count_u18 {get; set;} // variable for people < 18
public Integer Count_1830 {get; set;} // variable for people >=18 AND <30
public Integer Count_g30 {get; set;} // variable for people >30
public void getEZRen() {
List<Einzelrisiko__c> EZRList = [SELECT Alter__c FROM Einzelrisiko__c]; // create List EZRList with the information Alter__c of all people
FOR (Einzelrisiko__c EZR : EZRList) { // Loop thru the all people
IF(EZR.Alter__c < 18) { Count_u18++; } // if Alter__c < 18 variable Count_u18 increase
IF(EZR.Alter__c >= 18 && EZR.Alter__c <=30) { Count_1830++; } // if Alter__c >=18 AND <=30 variable Count_1830 increase
IF(EZR.Alter__c > 30) { Count_g30++; } // if Alter__c > 30 variable Count_g30 increase
}
}
}
<apex:page standardcontroller="account" extensions="testfor1_c">
Anzahl {!Count_u18} // show the value of people <18
Anzahl {!Count_1830} // show the value of people >=18 AND <=30
Anzahl {!Count_g30} // show the value of people >30
</apex:page>
提前致谢, PEX
答案 0 :(得分:0)
IF(EZR.Alter__c&gt; = 18&amp;&amp; EZR.Alter__c&lt; = 30){Count_1830 ++; }
在此行,您有一个空值。你必须使用check infor比较if block。
答案 1 :(得分:0)
您只需要initialize the Integer Properties
public class testfor1_c {
public testfor1_c(ApexPages.StandardController stdcontroller) {
Count_u18 = 0;
Count_1830 = 0;
Count_g30 = 0;
getEZRen();
}
public Integer Count_u18 {get; set;} // variable for people < 18
public Integer Count_1830 {get; set;} // variable for people >=18 AND <30
public Integer Count_g30 {get; set;} // variable for people >30
public void getEZRen() {
List<Einzelrisiko__c> EZRList = [SELECT Alter__c FROM Einzelrisiko__c]; // create List EZRList with the information Alter__c of all people
for(Einzelrisiko__c EZR : EZRList) { // Loop thru the all people
IF(EZR.Alter__c < 18) { Count_u18++; } // if Alter__c < 18 variable Count_u18 increase
IF(EZR.Alter__c >= 18 && EZR.Alter__c <=30) { Count_1830++; } // if Alter__c >=18 AND <=30 variable Count_1830 increase
IF(EZR.Alter__c > 30) { Count_g30++; } // if Alter__c > 30 variable Count_g30 increase
}
}
}
希望它可以帮到你