Excelのアカウント番号を検索しようとしていますが、シートにアカウント番号が含まれていると「総額」が返されます。このコードを使用してスキャンすることはできますが、シートにアカウント番号がない場合はエラーが発生します。Javaでarraylistに空白またはヌルを追加する
for(int i = 0; i < accno.size(); i++){
for(int j = rowAccNo1+1; j < row.getRowNum(); j++){
srcaccno = formatter.formatCellValue(sheet.getRow(j).getCell(0));
totalamt = formatter.formatCellValue(sheet.getRow(j).getCell(10));
if(accno.get(i).contains(srcaccno)){
totalamountdue.add(i, totalamt);
}
}
}
編集: こんにちは、私は、Apache POIを使用しています。
私は以下のようにaccnoを宣言:
static ArrayList<String> accno = new ArrayList<String>();
と、私はこのエラーを取得しています。おそらくJavaはアカウント番号を見つけることができないので、彼はこれをスローします。しかし私は私のarraylistに空またはヌルを追加できるかどうかわかりません。 com.joven.DataExtractionTool.App.compareMastertoSourceABC(App.java:372)で java.util.ArrayList.addでjava.util.ArrayList.rangeCheckForAdd(不明なソース)(不明なソース)で
com.joven.DataExtractionTool.App.main(App.java:78)、 com.joven.DataExtractionTool.AppTest.testApp(AppTest.java:17) sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) sun.reflect.NativeMethodAccessorImpl.invoke(不明なソース) sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) でjava.lang.reflect.Method.invoke(不明なソース) junit.framework.TestCase.runTest(TestCase.java:154)at junit.framework.TestCase.runBare(TestCase.java:127)at junit.framework.TestResult $ 1.protect(TestResult.java:106)at junit.framework.TestResult.runProtected(TestResult.java:124)at junit.framework.TestResult.run(TestResult.java:109) junit.framework.TestCase.run(TestCase.java:118)at junit。フレームワーク.TestSuite.runTest(TestSuite.java:208)at junit.framework.TestSuite.run(TestSuite.java:203)at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference。 java:131) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) でorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
ありがとうございました!
本当に好きなことは、シートにaccnoがある場合はtotalamountdueを取得することです。それが存在しない場合は、totalamountdueに空白を入れて、コンソールにarraylistを出力すると空白を表示します。
あなたも私たちはあなたが(私は、Apacheを推測している)を使用しているExcelのJavaライブラリ知っている場合、それは役立つだろう。 –
*条件付き操作*についてはどうですか? –
'accno'の型は何ですか、' null'を含むことができますか?これは正しいとは思われません。(accno.get(i).contains(srcaccno)){' – AxelH