2013-12-02 4 views
0

Это относительно простой вопрос, но я не мог понять, что не так. Это мой код:..FileWriter не может разрешить конструктор

public class Average { 
public double findAverage(){ 
    try { 
     long total = 0; 
     int count = 0; 
     FileWriter f = new FileWriter("C:\\Users\\Bob\\Desktop\\numbers.txt"); 
     Scanner in = new Scanner(f); 
     while (in.hasNext()){ 
      total += in.nextInt(); 
      count++; 
     } 
     return total/count; 
    } catch (IOException e){ 
     System.out.println(e.getMessage()); 
     return 0; 
    } 
    } 

Под (е) компилятор говорит: «Не удается разрешить сканер-конструктор (java.io.FileWriter) Я не понимаю, что я делаю неправильно

Я пытался делать :

Scanner in = new Scanner(new File("numbers.txt")); и размещение файла, в котором находятся все мои java-файлы, и это сработало. Однако мне явно нужно, чтобы он работал, когда файл находится где-то в другом месте, и я не знаю, как это сделать. что я делаю неправильно?

EDIT:

Я нашел свою ошибку. В случае, если кто-либо еще может исправить эту полезность, я должен был использовать new File вместо new fileWriter.

+1

Где [Конструктор] (http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#constructor_summary), который принимает 'FileWriter' ? Эти JavaDocs - чертовски прекрасный ресурс, с которым вы должны часто проконсультироваться. –

ответ

1

Вы не можете передать FileWriter для сканера. Посмотрите на documentation.

-2

попробовать

FileWriter f = new FileWriter(new File("C:\\Users\\Cristian\\Desktop\\numbers.txt")); 

Thats не решение, он просто удаляет ошибку компиляции.

return total/count; // Integer division 
-1
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class Average { 

public double findAverage(){ 
    try { 
     long total = 0; 
     int count = 0; 
     FileReader f = new FileReader("C:\\Users\\xyz\\Desktop\\numbers.txt"); 
     Scanner in = new Scanner(f); 
     while (in.hasNext()){ 
      total += in.nextInt(); 
      count++; 
     } 
     return total/count; 
    } catch (IOException e){ 
     System.out.println(e.getMessage()); 
     return 0; 
    } 
} 
public static void main(String[] args) { 

    Average ob=new Average(); 
    ob.findAverage(); 
} 

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