Я пытаюсь прочитать файл, который содержит атрибуты, которые создают мобильный телефон (например, серийный номер, бренд, год и цена).Затем я хочу сохранить информацию в переменных, чтобы я мог создавать объекты CellPhone, используя его конструктор.После этого мне нужно продолжать добавлять эти объекты CellPhone в связанный список, постоянно следя за тем, чтобы не было дубликатов (объектов CellPhone с одинаковым серийным номером).Он работает правильно для первого случая, когда список пуст, однако после того, как я добавил первый объект в список, возникает исключение NoSuchElementException.Что я сделал не так и как я могу правильно прочитать файл?Любая помощь приветствуется.
Класс CellListUtilization:
// Method to read the file and store the information in the CellList
public static void processFile(Scanner sc1, CellList cl1) {
String S = null;
while(sc1.hasNext())
{
// First case where the list is empty
if (cl1.getSize() == 0)
{
S = sc1.next();
serialNum = Long.parseLong(S);
S = sc1.next();
brand = S;
S = sc1.next();
price = Double.parseDouble(S);
S = sc1.next();
year = Integer.parseInt(S);
CellPhone c1 = new CellPhone(serialNum, brand, year, price);
cl1.addToStart(c1);
}
else
{
serialNum = Long.parseLong(S);
S = sc1.next();
brand = S;
S = sc1.next();
price = Double.parseDouble(S);
S = sc1.next();
year = Integer.parseInt(S);
if (!(cl1.contains(serialNum)))
{
CellPhone c2 = new CellPhone(serialNum, brand, year, price);
cl1.addToStart(c2);
}
}
S = sc1.next();
}
}
Файл, который я пытаюсь прочитать:
3890909 Samsung 857.28 2015
2787985 Acer 572.20 2013
4900088 LG 232.99 2017
1989000 Nokia 237.24 2006
0089076 Sharp 564.22 2009
2887685 Motorola 569.28 2012
7559090 Pansonic 290.90 2005
2887460 Siemens 457.28 2009
2887685 Apple 969.28 2018
6699001 Lenovo 237.29 2012
9675654 Nokia 388.00 2009
1119002 Motorola 457.28 2008
5000882 Apple 977.27 2016
8888902 Samsung 810.35 2018
5890779 Motorola 457.28 2007
7333403 BenQ 659.00 2009
2999900 Siemens 457.28 2006
6987612 HTC 577.25 2009
8888902 BenQ 410.35 2009
8006832 Motorola 423.22 2008
5555902 SonyEricsson 177.11 2007
9873330 Nokia 677.90 2010
8888902 BenQ 410.35 2009
5909887 Apple 726.99 2017
2389076 BlackBerry 564.22 2010
1119000 SonyEricsson 347.94 2009