複合パターンを作成中です。私はcsvファイルからデータを受け取り、木のような構造でそれを印刷しなければならないプログラムを持っています。それは、ファイルにはルートにある大統領があります。社長の従業員IDはManagerの指定IDになります。したがって、マネージャの従業員IDは、アナリスト、係員、セールスマンを含む残りの従業員の指定IDになります。そのような木です。しかし、私は障害に気付いています。ラインで :複合パターンを実装する際の置換に問題があります
if (valueOfPresident == Integer.valueOf(b[3]).intValue())
他の従業員の指定idを持つ社長の従業員IDを比較しながら、それが遭遇はNULL (7839、 'KING'、 '大統領、NULL、'17 -NOV-81です'、' MANAGER '、7839、' 1-MAY-81 '、2850、NULL、30) - > (7698、' MANAGER '、7839、' MAY-81 '、5000、NULL、10) 。 そのため、例外が発生しています。
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)
NULL値を0に置き換えるにはどうすればよいですか?
プログラムコードがある -
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であるかどうかを確認する必要があります。ファイルからの抜粋のように: 'BLAKE'、 'MANAGER'、7839、 '1-MAY-81'、2850、NULL、30 and 7839、 'KING'、 'PRESIDENT'、0000、'17 -NOV-81 '、5000、NULL、10。ここでManager - 7839の指定IDは大統領の場合の従業員 - 7839 –