2015-02-28 1 views
0

Я пытаюсь прочитать файл и написать содержимое из этого файла в несколько разных текстовых файлов, но я не могу заставить программу писать что-либо, потому что я считаю, что мне нужно для вставки nextLine() здесь, но я не знаю, где. Я новичок в этом сайте, а также новичок в java. Пожалуйста помоги.Как использовать nextDouble после nextLine внутри цикла while

while (readFile.hasNext()) 
    { 

     m = readFile.nextLine(); 
     p = readFile.nextLine(); 
     double cos = readFile.nextDouble(); 
     double bof = readFile.nextDouble(); 

     profit = bof - cos; 

     if (profit >= bb) 
     { 
      bold.println(m + " " + p + " " + formatter.format(profit)); 
     } 
     else if (profit >= ss && profit <= bb) 
     { 
      solid.println(m + " " + p + " " + formatter.format(profit)); 
     } 
     else if (profit >= eS && profit <= ss) 
     { 
      odd.println(m + " " + p + " " + formatter.format(profit)); 
     } 
     else 
     { 
      flo.println(m + " " + p + " " + formatter.format(profit)); 
     } 
    } 
+0

Если ничего не печатается (т.е. нет ошибок, он просто бежит и ничего не делает), то либо ваш ReadFile является пустым или ваши методы 'bold' /' solid'/'odd' /' flo'' .println' не работают. – Vitruvius

+0

Я убедился, что мой readFile не пуст, и я знаю, что мои методы работают, потому что я удалил m и p, и программа работала отлично, когда они были задействованы только в два раза. –

+0

Подождите, действительно ли программа заканчивается, или она ждет ввода? Попробуйте положить оператор 'println' после окончания' while', чтобы узнать, доходит ли программа до него. – Vitruvius

ответ

1

Вы должны потреблять конец строки после прочтения двойников:

m = readFile.nextLine(); 
    p = readFile.nextLine(); 
    double cos = readFile.nextDouble(); 
    double bof = readFile.nextDouble(); 
    readFile.nextLine(); 
+0

Не решит проблему «ничего не печатает» – Vitruvius

+0

Это то, о чем я думал, но когда я это делаю, он показывает ошибки в консоли, говорящие, что строка не найдена. –