Я продолжаю получать эту ошибку при запуске кода.«Исключение в потоке» main «java.util.NoSuchElementException» в селекторе файлов Я использую текстовый файл, содержащий это.
Schoultz Matthew Louis-Stanton 10/14/1979
Doe JohnБрюс 11/23/1981
Попытка заставить программу выводить данные в определенном порядке.
package com.company;
import javax.swing.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
infoIn();
}
private static void infoIn()
{
JFileChooser fileChooser = new JFileChooser();
Scanner in = null;
if(fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
{
try
{
File selectedFile = fileChooser.getSelectedFile();
in = new Scanner(selectedFile);
ArrayList<Person> peopleArray = new ArrayList<>();
while (in.hasNextLine())
{
Person myPeople = new Person();
myPeople.setLastName(in.next());
myPeople.setFirstName(in.next());
myPeople.setMiddleName(in.next());
myPeople.setBirthDate(in.next());
peopleArray.add(myPeople);
}
infoOut(peopleArray);
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "ERROR" + e.getMessage());
}
}
}
private static void infoOut(ArrayList<Person> peopleArray)
{
try
{
PrintWriter outFile = new PrintWriter("BioInfoOut.dat");
for (int i = 0; i < peopleArray.size(); i++)
{
outFile.println(peopleArray.get(i).getFirstName() + " " + peopleArray.get(i).getMiddleName().charAt(0) + " " + peopleArray.get(i).getLastName() + " " + peopleArray.get(i).calculate2036Age());
Person myPeople = new Person(peopleArray.get(1).getFirstName(), peopleArray.get(i).getLastName(), peopleArray.get(i).getMiddleName(), peopleArray.get(i).getBirthDate());
JOptionPane.showMessageDialog(null, "Here is the date that was inputted " + myPeople.getFirstName() + " " + myPeople.getLastName() + " " + myPeople.getMiddleName().charAt(0) + " " + myPeople.getBirthDate());
}
JOptionPane.showMessageDialog(null, "Output was successful.");
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "ERROR");
}
}
}
Это ошибка, которую я получаю, когда запускаю код.Не уверен, что вызывает это.
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at com.company.Main.infoIn(Main.java:35)
at com.company.Main.main(Main.java:14)