2013-03-28 3 views
0

Я могу прочитать строковые переменные, но по какой-то причине он не будет читать double. Что я могу сделать, чтобы прочитать двойник?Как читать удвоения из .txt-файла

public class RundraiserApp 
{ 

/** 
* @param args 
* 
*/ 
public static void main(String[] args) 
{ 
    Fundraising[] dList = new Fundraising[10]; 

    String name = null; 
    String address = null; 
    String cityStateZip = null; 
    double donation = 0; 
    int i = 0, ctr = 0; 

    Scanner in; 
    File file = new File("Donations.txt"); 
    try 
    { 
     in = new Scanner(file); 

     while (in.hasNext() && i < dList.length) 
     { 
      name = in.nextLine(); 
      address = in.nextLine(); 
      cityStateZip = in.nextLine(); 
      donation = in.nextDouble(); 
      i++; 
     } 
     ctr++; 
    } 
    catch (FileNotFoundException e1) 
    { 
     e1.printStackTrace(); 
    } 
} 
} 
+0

Не могли бы вы привести пример входного файла? – Martinsos

+1

Попробуйте прочитать его как 'String', а затем преобразовать его в' double', используя ['Double # parseDouble'] (http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html # parseDouble% 28java.lang.String% 29) –

+0

Какая ошибка? – Adi

ответ

1

Учитывая структуру файла ниже

Name 
Address 
Zip 
2000.50 

Изменение пожертвования как.

donation = Double.parseDouble(in.nextLine()); 
+0

Double.parseDouble (in.nextLine()); (нижний регистр p в parseDouble) – Taylor

+0

@Taylor Спасибо, опечатка исправлена. – Smit

+0

Спасибо, это помогло. – user2073662

Смежные вопросы