我正在處理複合模式。我有一個程序接受來自csv文件的數據,並且必須以樹狀結構打印它。它是......文件有一位總統在根。總裁的職員編號將成爲經理的指定編號。因此,經理的員工編號將成爲剩餘員工的指定編號,其中包括分析師,職員,銷售員。這是樹。但是,我注意到一個障礙。 在行:執行復合模式時替換時遇到問題
if (valueOfPresident == Integer.valueOf(b[3]).intValue())
在比較與其他員工的指定ID總統員工ID,它遇到的是一個NULL (7839, 'KING', '總統',NULL,'17 -nov-81 ',5000,NULL,10) 而其他員工具有像這樣的整數值 - > (7698,'BLAKE','MANAGER',7839,'1-MAY-81',2850,NULL,30) 。 因此,我收到一個例外。
Exception in thread "main" java.lang.NumberFormatException: For input string: "NULL"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at com.techlabs.compositepattern.project.CompositePattern.main(CompositePattern.java:34)
如何用0代替NULL值?
程序代碼 -
while ((line = br.readLine()) != null) {
String[] b = line.split(",");
if (b[3].equalsIgnoreCase("NULL")) {
TopHierarchy tophierarchy = new TopHierarchy(b);
valueOfPresident = (Integer.valueOf(b[0]).intValue());
tophierarchy.showDetails();
if (b[3].contains("NULL"))
b[3].replace("NULL", "0000");
if (valueOfPresident == Integer.valueOf(b[3]).intValue()) {
TopHierarchy tophierarchy1 = new TopHierarchy(b);
tophierarchy.add(tophierarchy1);
tophierarchy.showDetails();
valueOfManager = Integer.valueOf(b[0]).intValue();
那麼我如何檢查和隔離其他員工的經理。我需要檢查員工ID是否是經理的指定ID。如同文件摘錄:7698,'BLAKE','MANAGER',7839,'1-MAY-81',2850,NULL,30和7839,'KING','PRESIDENT',0000,'17 -NOV-81 ',5000,NULL,10。這裏的經理 - 7839的名稱編號是僱員,如果總統 - 7839 –