Код:некорректный вывод, и я не могу понять, почему
ArrayList<Employer> use = new ArrayList<Employer>();
ArrayList<String> Alia = new ArrayList<String>();
int moneyE, moneyF;
String Alias = "";
boolean alert, alertF;
for(int i = 0; i < Filers.size(); i++)
{
moneyE=0;
use.clear();
Alia.clear();
Alias = "";
alert = false; alertF = false;
use.addAll(this.findEmployerRecords(Filers.get(i)));
moneyF = Filers.get(i).getIncome();
for(int j = 0; j< use.size(); j++)
{
moneyE += use.get(j).getEmployeeWages();
if(!(Filers.get(i).getName().equals(use.get(j).getEmployeeName()))
&& !(Alia.contains(use.get(j).getEmployeeName())))
Alia.add(use.get(j).getEmployeeName());
if(moneyE !=moneyF
&& !(Filers.get(i).getName().substring(0, Filers.get(i).getName().indexOf(" ")+1).equals(
use.get(j).getEmployeeName().substring(0, use.get(j).getName().indexOf(" ")+1)))) //problem occurs here
alert = true;
if (alert = true)
alertF = true;
}
for(int j=1; j<Alia.size();j++)
Alias+= (", " + Alia.get(j));
if (moneyE != moneyF)
Discrepancies.add(new Discrepancy(alertF, moneyF-moneyE, Filers.get(i).getName(),
Filers.get(i).getSSN(), Alias));
}
Я в конце моей палке. Я не могу понять, что я делаю неправильно здесь. Это немного код, с которым я работаю, для создания виртуального IRS. Если я удалю +1 в проблемном месте, я получаю исключение. Проблема, с которой я столкнулась, - это предупреждение и alertF. Статус предупреждения должен быть отключен, если moneyE и moneyF не совпадают, и последнее имя различается между записями работодателя и файлом. Оповещения отображаются со звездочками.
Ожидаемое:
*-100, HEATON MARK, 309582302, MCGUIRE MARK
*-50, FOX CHARLES, 724113610, BOX CHARLES
+105, MOFFITT DONALD, 206516583, MOFFITT DON
+100, YOUNG THOMAS, 813068590, YOUNG THOM, YOUNG TOM
-20, SOMASUNDAR PRASANTH, 138001926
+5, HORSLEY MARIA, 239984300
+5, LIANG BO, 743287509
+5, LIANG BO, 857410861
Actual:
*105, MOFFITT DONALD, 206516583
*-100, HEATON MARK, 309582302, HEATON MARK
*100, YOUNG THOMAS, 813068590, YOUNG TOM
*-50, FOX CHARLES, 724113610
*-20, SOMASUNDAR PRASANTH, 138001926
*5, HORSLEY MARIA, 239984300
*5, LIANG BO, 743287509
*5, LIANG BO, 857410861
Вы должны подключить отладчик и шаг за шагом через код, чтобы увидеть, где ваша проблема. – mkobit
Опубликуйте свое исключение с полной трассировкой стека. –
В этом последнем цикле вы инициализируете 'j' до 1, может ли это быть? –