Сканер считывает неправильные данные в текстовом формате файла:Почему моя программа не распознает фамилии должным образом?
111,Smith,Sam, 40,10.50 330,Jones,Jennifer,30,10.00
Программа:
public class P3 {
public static void main(String[] args) {
String file=args[0];
File fileName = new File(file);
try {
Scanner sc = new Scanner(fileName).useDelimiter(", ");
while (sc.hasNextLine()) {
if (sc.hasNextInt()){ int id = sc.nextInt();}
String lastName = sc.next();
String firstName = sc.next();
if (sc.hasNextInt()){ int hours = sc.nextInt(); }
if (sc.hasNextFloat()){ float payRate=sc.nextFloat(); }
System.out.println(firstName);
}
sc.close();
} catch(FileNotFoundException e) {
System.out.println("Can't open file "
+ fileName + " ");
}
}
}
Выход:
40,10.50
330,Jones,Jennifer,30,10.00
Оно должно быть:
Sam
Jennifer
Как это исправить?
А как насчет Смита и Джонса? –
if is System.out.println (lastName); –
он должен печатать Смит и Джонс –