Так у меня возникают проблемы зацикливания через текстовый файл, отформатированный как таковой:Для цикла для ArrayList в Java
31718 PHILLIP LENNOX 55.0 20.00
11528 NANCY TROOPER 40,0 10.45
16783 JOHN CONNAUGHT 30.5 10.00
10538 PETER DUNCAN 45.0 10.75
21O15 JAMES HAROLD 32.0 10.50
61326 HARRY KUHN 25.0 12.30
Теперь я знаю, что есть целеустремленно ошибки внутри файла .txt, и где мой catch (InputMismatchException n)
вступает в игру. Я должен выбрать любое несоответствие в .txt-файле и сохранить его в другом .txt-файле.
часть, где я застрял на том, что я не могу показаться, чтобы выяснить петлю за пределами моего метода попробовать/поймать, чтобы успешно продолжать смотреть через текстовый файл после InputMismatchException
найден ...
Я пробовал использовать for-loop, но настройка int i = 0;
в принципе даже не запускает мою программу, так как Arraylist ArrEmployee имеет размер null
? (Из того, что я понимаю, Ява)
Вот мой код (Где это имя пользователя Windows):
public class Main {
public static void main(String[] args) {
ArrayList<Employee> ArrEmployee = new ArrayList<Employee>(); // array for employee objects
try {
Scanner txtIn = new Scanner(new File("/Users/<USER>/Documents/workspace/COMP 249 - Assignment 3/src/payroll.txt"));
while (txtIn.hasNext()) { // looping through the payroll.txt file and creating Employee objects from its data
long EmployeeNumber = txtIn.nextLong();
String EmployeeName = txtIn.next();
String LastName = txtIn.next();
double HoursWorked = txtIn.nextDouble();
double HourlyWage = txtIn.nextDouble();
ArrEmployee.add(new Employee(EmployeeNumber, EmployeeName, LastName, HoursWorked, HourlyWage));
}
} catch (FileNotFoundException e) {
System.out.println("File payroll.txt was not found.");
} catch (InputMismatchException n) {
if (ArrEmployee.get().getHourlyWage() < 10.35) {
System.out.println("Hourly wage under minimum");
}
}
}
}
Спасибо за вход .. Не могли бы вы прояснить мой код? У меня есть трудное понимание в псевдокоде (все еще новичок программист!) – X1XX
@ X1XX: так как это домашнее задание или ваша школьная работа, я бы предпочел, и именно поэтому я использовал псевдокод. Лучше для вас попробовать, и если он все еще не работает, покажите нам свою попытку. –