0

I deal with a file problem.

IBM 7918 Ayse Durlanik 7600 Computer
------------------------------------
Gama 2342 Mehmet Guzel 8300 Civil
------------------------------------
Lafarge 3242 Ahmet Bilir 4700 Chemical
------------------------------------
Intel 3255 Serhan Atmaca 9200 Electrical
------------------------------------
Bilkent 3452 Fatma Guler 2500 Computer
------------------------------------
Public 1020 Aysen Durmaz 1500 Mechanical
------------------------------------
Havelsan 2454 Sule Dilbaz 2800 Electrical
------------------------------------
Tai 3473 Fethi Oktam 3600 Computer
------------------------------------
Nurol 4973 Ayhan Ak 4100 Civil
------------------------------------
Pfizer 3000 Fusun Ot 2650 Chemical
------------------------------------ 

This is the text file and I don't want to read this =

"------------------------------------ "

Here is the method:

 Scanner scn = null;
   File fp = new File("C:/Users/Efe/Desktop/engineers.txt");
   try {
   scn = new Scanner(fp);
   while (scn.hasNextLine()) {

   {
   if (!scn.next().equals("------------------------------------")) {

   String comp = scn.next();
   int id = Integer.parseInt(scn.next());
   String name = scn.next();
   String surname = scn.next();
   double sal = Double.parseDouble(scn.next());
   String area = scn.next();
   Engineer e = new Engineer(comp, id, name, surname, sal, area);
   list.add(e);
   } 
   }
   scn.close();
   }

This is the code where I get an exception at run-time:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: 
    For input string: "Ayse" at  
  java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

What is wrong with the code?

2 Answers 2

3

You're off by one...in the line

if (!scn.next().equals("------------------------------------")) {

if the next token is not the dashed line, then it is lost. Consider assigning it to a temporary variable.

In your case, "IBM" is lost, comp == 7918, and parseInt is called with an argument of "Ayse", leading to the runtime exception.

Sign up to request clarification or add additional context in comments.

Comments

0

This is when application trying to convert string to one of the numeric types, but that string does have the appropriate format to convert.

Can you show further "IBM 7918 Ayse Durlanik 7600 Computer"

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.